Zustand
Introduction
It is similar with redux, it follows the flux pattern, have single store with immutable state model
It is light weighted and smaller learning curve
Example
Simple
import { create } from 'zustand'
const useStore = create((set) => ({
bears: 0,
increasePopulation: () => set((state) => ({ bears: state.bears + 1 })),
removeAllBears: () => set({ bears: 0 }),
updateBears: (newBears) => set({ bears: newBears }),
}))function BearCounter() {
const bears = useStore((state) => state.bears)
return <h1>{bears} around here...</h1>
}
function Controls() {
const increasePopulation = useStore((state) => state.increasePopulation)
return <button onClick={increasePopulation}>one up</button>
}Slice pattern
Integrated with immer
Persist
The Persist middleware enables you to store your Zustand state in a storage (e.g.,
localStorage,AsyncStorage,IndexedDB, etc.), thus persisting its data
Last updated
Was this helpful?