Je suis curieux au propos de ça. J'ai vu de nombreux exemples utilisant Container()
pour un widget caché factice, par exemple, lorsque le chargement est terminé, alors nous setState(() { _isLoaded = true; });
. On peut donc utiliser l'état comme ça, non?
return _isLoaded ? SizedBox() : LoaderWidget();
Ou peut-être que l'utilisation de SizedBox()
est en fait meilleure car elle ne prend pas beaucoup de paramètres et est souvent utilisée pour le remplissage de toute façon?
return _isLoaded ? Container() : LoaderWidget();
Ou ai-je tort?
3 Réponses :
En cas d'utilisation comme espace réservé:
Conteneur si le widget n'a pas d'enfant, pas de hauteur, pas de largeur, pas de contraintes et pas d'alignement, mais que le parent fournit des contraintes limitées, alors Container se développe pour s'adapter aux contraintes fournies par le parent.
SizedBox si le widget n'a pas d'enfant, pas de hauteur, pas de largeur, alors la largeur et la hauteur sont nulles.
Par conséquent, SizedBox()
sert davantage d'espace réservé syntaxique.
Notez également que SizedBox () est un constructeur const
mais que Container () ne l'est pas. Le premier permet au compilateur de créer un code plus efficace.
Vous pouvez utiliser le widget Visibilité , qui utilisera SizedBox
pour le remplacement par défaut.
Double possible de Flutter: SizedBox Vs Container, pourquoi utiliser l'un au lieu de l'autre?