Patrones de renderizado y composición
Actualización de Herramientas de Desarrollo con React 2023
Render Props y Composición en React: Ventajas y Desventajas
Control de Props en React: Comunicación entre Componentes Padres e Hijos
Patrón Compound Components en React: Creación de un Componente de Tabs
Componentes de Orden Superior vs Hooks en React: Comparación Práctica
Uso de Custom Hooks en React para Reemplazar Higher-Order Components
Patrón de Diseño Container-Presenter: Separación de Lógica y Presentación
Componentes Controlados y No Controlados en Formularios React
Navegación con React Router
Single Page Application vs Server Side Rendering con React Router
Enrutamiento Dinámico y Navegación Programática en React Router
Rutas Anidadas y Lazy Loading en React con React Router Dom
Rutas Protegidas y Redirecciones en React con Autenticación
Manejo del estado en React
Estado Global en React: Uso de Context y Provider para Notificaciones
Creación de Notificaciones con React Context y Custom Hooks
Gestión de Estado Complejo con useReducer en React
Creación de Reducers y Mapeo de Emojis en TypeScript
"Creación de Emoji Todo List con useReducer en React"
Flujo de Comunicación en Redux: Estado Global y Acciones
Creación de Reducer para Manejo de Emojis en Lista de Tareas
Creación de un Todo List con React Redux y Reducers
Manejo de Estado Global con Sustand en Aplicaciones React
Creación de un ToDo List con Emojis usando React y Sustand
Máquinas de Estado en Desarrollo Web: Configuración y Uso Práctico
Configuración de Máquina de Estados: Crear y Gestionar Vistas y Pasos
Creación de un Componente Wizard con Estados Locales en React
Visualización de Máquinas de Estado con XState
Comunicación con servidor y data fetching
Consumo de APIs con TankstackQuery y React TypeScript
Implementación de Code Splitting y Manejo de Errores en React
Paginación Asíncrona con Concurrent Mode en React
Paginación de Cursos con React y TanStack Query
Sigue avanzando con tus conocimientos de React
Optimización de Componentes en React con TypeScript
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Si alguna vez te has sentido abrumado por la complejidad de Redux, te alegrará saber que hay una librería que facilita el manejo del estado global de tus aplicaciones: Sustand. Esta librería ofrece una forma sencilla de gestionar el estado, lo que la hace ideal para proyectos de pequeña y mediana escala. A diferencia de Redux, Sustand no requiere un flujo complejo de comunicación entre el estado, los componentes y las acciones. En cambio, se centra en un estado inicial y un hook que te permite modificarlo.
Para poner en marcha un proyecto con Sustand, el primer paso es la instalación de la librería. Aquí te mostramos los pasos básicos que puedes seguir para crear una aplicación con Sustand:
npm create vite
y llamar a tu aplicación my-read-sustand-app
. Luego, selecciona React TypeScript
como plantilla.src
y crea un directorio llamado store
. Allí, crearás un archivo useTodoStore.ts
donde definirás tus tipos y funciones necesarias para manejar el estado.Para configurar el Store, importa create
de Sustand y define los tipos necesarios para tu aplicación. En el ejemplo de una lista de tareas (todo list), necesitarás un tipo para "todo" y uno para el "store". Aquí te muestro cómo hacerlo:
import create from 'zustand';
type Todo = {
id: number;
text: string;
};
type TodoStore = {
todos: Todo[];
addTodo: (text: string) => void;
removeTodo: (id: number) => void;
};
Una vez definidos los tipos, usa create
para inicializar un Store que contendrá un array para las tareas (todos) y funciones para agregar y eliminar tareas.
Dentro del Store, definirás funciones que permitan modificar el estado. La función addTodo
añade nuevas tareas, mientras que removeTodo
elimina tareas según su ID.
const useTodoStore = create<TodoStore>((set) => ({
todos: [],
addTodo: (text) => set(state => ({
todos: [...state.todos, { id: state.todos.length + 1, text }]
})),
removeTodo: (id) => set(state => ({
todos: state.todos.filter(todo => todo.id !== id)
}))
}));
La simplicidad es la clave del éxito de Sustand. Al eliminar la necesidad de un flujo complejo, te permite centrarte en lo esencial: definir el estado inicial y sus modificadores de una manera clara y concisa. Esto te ahorra tiempo y esfuerzo, lo que es especialmente útil si trabajas en aplicaciones que no requieren la robustez de Redux.
Anímate a explorar y seguir aprendiendo sobre Sustand. Con práctica y experimentación, puedes dominar el manejo de estados en tus aplicaciones de manera más eficiente. Recuerda que cada herramienta tiene su contexto y alcance, y Sustand podría ser tu mejor aliado en proyectos de recursos reducidos o medianos.
Aportes 2
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?