78 votes

Quelqu'un peut-il m'expliquer ce que fait la classe Builder dans Flutter?

La documentation est très confuse et vague. Voici ce qu'il dit:

Classe de constructeur

Un widget platonique qui appelle une fermeture pour obtenir son widget enfant.

Voici mes questions:

  1. Qu'entendent-ils par «platonique»?
  2. Qu'entendent-ils par «fermeture»?
  3. Quel est exactement le but de ce cours?

23voto

Günter Zöchbauer Points 21340

Il convertit essentiellement une fonction qui construit un widget en widget.

Wo où vous avez besoin de passer un widget mais que vous n'avez qu'une fonction qui renvoie un widget, vous pouvez utiliser le widget Builder .

 bool bar;

Widget createFooOrBarWidget() {
  if(bar) {
    return BarWidget();
  } 
  return FooWidget();
}

Widget build(BuildContext context) =>
  Container(child: Builder((context) => createFooOrBarWidget()));

vous pouvez également utiliser

 Widget build(BuildContext context) =>
  Container(child: createFooOrBarWidget());

mais le premier retarde la création du widget Foo ou Bar jusqu'à ce que build soit réellement appelé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X