eduardweb.
Navigație & StateIntermediar#react-native#state-management#zustand

Zustand + React Native — de ce am renunțat la Redux

De Ioana Marinescu, 21 apr. 2026 · 582 vizualizări · 3 like-uri

Postat acum 1 zi
typescript
import { create } from 'zustand';
import AsyncStorage from '@react-native-async-storage/async-storage';
import { persist, createJSONStorage } from 'zustand/middleware';

type AuthState = {
  token: string | null;
  setToken: (t: string | null) => void;
};

export const useAuth = create<AuthState>()(
  persist(
    (set) => ({
      token: null,
      setToken: (t) => set({ token: t }),
    }),
    {
      name: 'auth',
      storage: createJSONStorage(() => AsyncStorage),
    }
  )
);

Am folosit Redux 4 ani. Ultimele 3 proiecte le-am început cu Zustand. Nu mă mai întorc.

Ce m-a convins

  • 90% mai puțin boilerplate
  • Store-uri separate per domain, fără reducer giant
  • Persist middleware funcționează perfect cu AsyncStorage
  • DevTools-ul e decent (nu la nivelul Redux, dar OK)

Unde Zustand strălucește

  • Login state, user preferences
  • Modalele / bottom sheets
  • Cart state local
  • Preferințe UI (theme, language)

Unde pierde (încă)

  • Echipe mari obișnuite cu pattern-urile Redux
  • Time-travel debugging avansat
  • Saga-urile lor complicate de async

Migrare

Nu o faci "big bang". Iei un slice și îl muți. Lași restul.

Răspunsuri 0

Se încarcă răspunsurile…

Loghează-te pentru a răspunde

Doar membrii comunității pot lăsa comentarii.