Aprende a manejar estado global en React con Substandt de forma clara y práctica. Enfócate en lo esencial: un estado inicial, funciones para modificarlo y un hook para usarlo en los componentes. Más simple que Redux y ideal para proyectos pequeños y medianos.
¿Qué es Substandt y por qué simplifica el estado global?
Substandt reduce el flujo tradicional de Redux a lo necesario. En lugar de múltiples actores como dispatch, acciones y reducer, aquí trabajas con un estado central y un hook que actualiza y lee ese estado. Menos código, menos fricción.
¿Qué flujo reemplaza Substandt frente a Redux?
Un único store con estado y funciones de actualización.
Un hook para leer y modificar el estado.
Componentes que consumen ese hook y actualizan la UI.
¿Qué muestra el ejemplo de contador en la documentación?
Uso de create para definir el store con estado inicial.
Función que incrementa el contador usando set.
Un botón en HTML que ejecuta la acción con una pequeña demo visual.
¿Qué proyecto se construye?
Un Emoji To do List con React y TypeScript.
Setup con Vite: creación del proyecto, instalación de dependencias y ejecución del entorno local.
Estructura en src: carpeta store y carpeta components.
¿Cómo crear un store y un hook para un to do list?
El objetivo es guardar una lista de tareas con ID y texto, más dos funciones: agregar y eliminar. Se crea un hook llamado useTodoStore y se tipa con TypeScript para asegurar claridad y mantenibilidad.
¿Qué tipos y funciones se definen?
Tipo Todo: { id: number, text: string }.
Tipo del store: todos, addTodo(text) y removeTodo(id).
addTodo recibe texto y no retorna valor: solo actualiza el estado.
removeTodo recibe un ID numérico y filtra el array para eliminar.
Agregar: usa set con función que recibe el state previo.
El nuevo elemento incluye un id basado en state.todos.length + 1.
Eliminar: usa filter para excluir el elemento cuyo id coincide.
¿Qué habilidades y conceptos reforzarás?
Trabajas con conceptos clave para escalar interfaces simples sin la complejidad de Redux. Practicarás tipado, mutaciones seguras y una estructura mínima pero efectiva.
¿Qué aprenderás paso a paso?
Manejo de estado global con Substandt y hook personalizado.
Definición de tipos en TypeScript para datos y store.
Actualizaciones inmutables de arrays con spread y filter.
Organización del proyecto: src/store y src/components.
Lectura de documentación y prueba de demo para validar el flujo.
Preparación de la UI con input para texto y acciones de clic para eliminar, con idea de convertir texto a emojis.
¿Quieres que avancemos con el componente TodoList y la UI de emojis? Deja tus dudas y comentarios para continuar el desarrollo juntos.