0%
StatelessWidget, StatefulWidget e ciclo de vida — Capítulo 45

Capítulo 45 — StatelessWidget, StatefulWidget e ciclo de vida

Parte 1B — Criar aplicativos Flutter · Capítulo 45 de 62 · 7 h

Capítulo 45 — StatelessWidget, StatefulWidget e ciclo de vida

Nível: iniciante / intermediário Duração estimada: 7 h Pré-requisitos: capítulo 44 — Os widgets e a árvore de widgets O que você saberá fazer ao final: decidir se um widget deve ser StatelessWidget ou StatefulWidget, armazenar um estado em uma classe State, modificá-lo corretamente com setState(), inicializar e liberar recursos nos momentos certos do ciclo de vida e elevar um estado até um pai comum.


45.0 — Objetivos do capítulo

Ao final deste capítulo, você será capaz de:

  • explicar o que é o "estado" de uma interface;
  • distinguir o que muda em uma interface do que não muda;
  • definir precisamente um StatelessWidget;
  • escrever um StatelessWidget do zero;
  • explicar o papel exato do método build();
  • explicar por que todas as propriedades de um widget sem estado são final;
  • passar dados para um widget por meio do construtor;
  • explicar por que um StatefulWidget é composto por duas classes;
  • escrever uma classe State<T>;
  • colocar as variáveis de estado no lugar certo;
  • usar setState() corretamente;
  • descrever o que setState() realmente faz no framework;
  • escrever o contador, exemplo canônico do Flutter;
  • reconhecer o bug silencioso do estado modificado fora de setState();
  • medir o custo de um setState() desnecessário;
  • acessar as propriedades do widget a partir do estado com widget.propriedade;
  • ler e desenhar o ciclo de vida completo de um State;
  • usar createState(), initState(), didChangeDependencies(), build(), didUpdateWidget(), deactivate() e dispose();
  • liberar um controlador em dispose();
  • usar mounted para evitar um setState() após a desmontagem;
  • escolher entre estado local e estado elevado;
  • praticar a elevação de estado (lifting state up);
  • fazer uma ação descer por meio de um callback;
  • apontar os limites dessa abordagem e saber o que o capítulo 52 trará;
  • aplicar uma árvore de decisão "stateless ou stateful?".

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!