03/01/2025REACT
Tuto pour utiliser Redux dans React
📌
Redux est une librairie permettant la gestion des state de façon globale dans un store
.
Elle va notamment permettre d’utiliser un state
dans un composant où qu’il soit dans l’arborescence de l’app, sans devoir passer le state en props
de ses composants parents jusqu’à lui.
npm install @reduxjs/toolkit react-redux
Mise en place
1. Créer le store
Le fichier store.js sera placé dans le dossier src
:
store.js
import { configureStore } from "@reduxjs/toolkit";
import count from "./slices/count";
export const store = configureStore({
reducer: {
count
}
})
2. Créer le slice
count.js
import { createSlice } from '@reduxjs/toolkit';
export const countSlice = createSlice({
name: 'count',
initialState: {
value: 0,
},
reducers: {
increment: (state, action) => {
state.value += 1;
},
decrement: (state, action) => {
state.value -= 1;
},
},
});
export const { increment, decrement } = countSlice.actions;
export default countSlice.reducer;
3. Mettre en place le Provider
En général on va placer le provider dans le composant racine du projet (App)
App.js
import { Provider } from 'react-redux';
import { store } from './store';
return <Provider store={store}>
...
</Provider>
Utilisation
Composant.js
import { useDispatch, useSelector } from 'react-redux';
import { increment } from '../slices/count';
const Composant = () => {
const count = useSelector(state => state.count.value);
const dispatch = useDispatch();
return <div>
{count}
<button onClick={() => dispatch(increment())}>Increment</button>
</div>
}
0