Saltar al contenido principal

Slices

Los "slices" son módulos que representan partes específicas del estado global. Cada slice contiene:

  1. Un fragmento del estado global
  2. Acciones para modificar ese estado
  3. Selectores para acceder al estado

Estructura de un Slice

Cada slice se define como una función que recibe set y get y devuelve un objeto con el estado y las acciones:

export const createExampleSlice = (set, get) => ({
// Estado
someState: initialValue,

// Acciones
updateSomeState: (newValue) => set({ someState: newValue }),

// Acciones asíncronas
fetchData: async () => {
const data = await someApiCall();
set({ someState: data });
},

// Acciones que usan el estado actual
doSomethingWithCurrentState: () => {
const currentState = get().someState;
set({ someState: modifyState(currentState) });
}
});

Slices en nuestro proyecto

Nuestro proyecto está organizado en los siguientes slices:

Cart Slice

Gestiona el estado del carrito de compras.

Page Slice

Mantiene información sobre la página actual (producto, categoría, etc.).

User Slice

Maneja el estado del usuario (sesión, datos, etc.).

Settings Slice

Almacena configuraciones globales de la aplicación.

Quote Slice

Gestiona cotizaciones y presupuestos.

Cada slice tiene su propia documentación detallada: