Capítulo 45 — StatelessWidget, StatefulWidget y ciclo de vida
Parte 1B — Crear aplicaciones Flutter · Capítulo 45 de 62 · 7 h
Capítulo 45 — StatelessWidget, StatefulWidget y ciclo de vida
Nivel: principiante / intermedio Duración estimada: 7 h Requisitos previos: capítulo 44 — Los widgets y el árbol de widgets Lo que sabrá hacer al final: decidir si un widget debe ser
StatelessWidgetoStatefulWidget, almacenar un estado en una claseState, modificarlo correctamente consetState(), inicializar y liberar recursos en los momentos adecuados del ciclo de vida, y elevar un estado hacia un padre común.
45.0 — Objetivos del capítulo
Al final de este capítulo, será capaz de:
- explicar qué es el «estado» de una interfaz;
- distinguir lo que cambia en una interfaz de lo que no cambia;
- definir con precisión un
StatelessWidget; - escribir un
StatelessWidgetdesde cero; - explicar el papel exacto del método
build(); - explicar por qué todas las propiedades de un widget sin estado son
final; - pasar datos a un widget mediante su constructor;
- explicar por qué un
StatefulWidgetse compone de dos clases; - escribir una clase
State<T>; - colocar las variables de estado en el lugar adecuado;
- utilizar
setState()correctamente; - describir qué hace realmente
setState()dentro del framework; - escribir el contador, el ejemplo canónico de Flutter;
- reconocer el error silencioso del estado modificado fuera de
setState(); - medir el coste de un
setState()innecesario; - acceder a las propiedades del widget desde el estado con
widget.propiedad; - leer y dibujar el ciclo de vida completo de un
State; - utilizar
createState(),initState(),didChangeDependencies(),build(),didUpdateWidget(),deactivate()ydispose(); - liberar un controlador en
dispose(); - utilizar
mountedpara evitar unsetState()tras el desmontaje; - elegir entre estado local y estado elevado;
- practicar la elevación de estado (lifting state up);
- hacer descender una acción mediante un callback;
- enunciar los límites de este enfoque y saber qué aportará el capítulo 52;
- aplicar un árbol de decisión «¿stateless o stateful?».
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión