¿Qué hace zustand?
Convenciones de tienda Zustand de LobeHub. Úselo al editar src/store, slices de tienda, acciones públicas/internas, acciones de dispatch, flattenActions, actualizaciones optimistas, selectores, mapas o migración de acciones de clase.
Slices de tienda
- Divida la tienda en slices lógicos según la funcionalidad.
- Cada slice debe tener su propio archivo dentro de
src/store.
Acciones
Acciones públicas e internas
- Las acciones públicas se exportan desde el slice principal.
- Las acciones internas se mantienen privadas y solo se usan dentro del slice.
Acciones de dispatch
- Use
dispatchpara acciones asíncronas o multi-paso. - Defina las acciones de dispatch en un archivo separado siguiendo la convención de nombres.
flattenActions
- Use
flattenActionspara aplanar acciones anidadas y mejorar el rendimiento.
Actualizaciones optimistas
- Implemente actualizaciones optimistas para mejorar la experiencia de usuario.
- Asegúrese de revertir los cambios si falla la operación.
Selectores
- Cree selectores para acceder a partes específicas del estado.
- Use
createSelectorpara memoización cuando sea necesario.
Mapas
- Para datos tipo mapa, use estructuras de datos inmutables como
Mapde JavaScript o librerías comoimmer.
Migración de acciones de clase
- Migre acciones de clase a funciones simples siguiendo el patrón Zustand.
- Elimine dependencias de ciclo de vida de clase y conviértalas en hooks o efectos.