Saltar al contenido principal

Enfoques de State Management

Una introducción a los diferentes enfoques para gestionar el State en aplicaciones Flutter.

El State Management es un tema complejo. Si sientes que algunas de tus preguntas no han sido respondidas, o que el enfoque descrito en estas páginas not es viable para tus casos de uso, probablemente tengas razón.

Obtén más información en los siguientes recursos, muchos de los cuales han sido aportados por la comunidad de Flutter.

Resumen general

#

Cosas que revisar antes de seleccionar un enfoque.

Enfoques integrados

#

setState

#

El enfoque de bajo nivel a utilizar para el State efímero específico del widget.

ValueNotifier e InheritedNotifier

#

Un enfoque que utiliza únicamente las API proporcionadas por Flutter para actualizar el State y notificar los cambios a la interfaz de usuario.

InheritedWidget e InheritedModel

#

El enfoque de bajo nivel utilizado para la comunicación entre ancestros e hijos en el árbol de widgets. Esto es lo que utiliza package:provider y muchos otros enfoques bajo el capó.

El siguiente taller en video dirigido por un instructor cubre cómo usar InheritedWidget:

Ver en YouTube en una nueva pestaña: "Cómo gestionar el estado de la aplicación utilizando InheritedWidgets"

Otros documentos útiles incluyen:

Paquetes proporcionados por la comunidad

#

Dependiendo de la complejidad de tu aplicación y de las preferencias de tu equipo, puede que te resulte útil adoptar un paquete de State Management. Los paquetes de State Management a menudo ayudan a reducir el código repetitivo, proporcionan herramientas de depuración especializadas y pueden ayudar a habilitar una arquitectura de aplicación más clara y consistente.

La comunidad de Flutter ofrece una amplia variedad de paquetes de State Management. La mejor elección para tu aplicación a menudo depende de la complejidad de la aplicación, las preferencias de tu equipo y los problemas específicos que necesites resolver.

Para comenzar a explorar las opciones disponibles, consulta el tema #state-management en el sitio pub.dev y refina la búsqueda para encontrar paquetes que se adapten a tus necesidades.