State management en Web3
Les dApps ont des besoins spécifiques : état du wallet, données blockchain, cache local. Quel outil choisir ?
Redux Toolkit
// store.ts
import { createSlice, configureStore } from '@reduxjs/toolkit';
const walletSlice = createSlice({
name: 'wallet',
initialState: { address: null, balance: 0n },
reducers: {
setAddress: (state, action) => {
state.address = action.payload;
},
},
});
Avantages : DevTools excellents, middleware puissant, écosystème mature.
Zustand
// store.ts
import { create } from 'zustand';
const useWalletStore = create((set) => ({
address: null,
balance: 0n,
setAddress: (address) => set({ address }),
}));
Avantages : API simple, bundle tiny (1kb), pas de boilerplate.
Notre recommandation
Zustand pour les dApps simples/moyennes. Redux Toolkit si vous avez besoin de middleware complexe ou d'un historique d'actions.