Redux est largement reconnu comme une bibliothèque de gestion d'état robuste conçue spécifiquement pour les applications JavaScript, souvent utilisée en tandem avec le framework populaire React. En proposant un conteneur d'état fiable, Redux établit une base solide qui simplifie grandement la tâche de gestion et de dépannage des états des applications. Ce guide approfondit les composants fondamentaux qui composent Redux, fournissant des explications détaillées de chaque élément et illustrant comment ils interagissent en synergie pour rationaliser la fonctionnalité globale de l'application. Cette exploration approfondie vise à élucider le fonctionnement interne de Redux, permettant aux développeurs de saisir les subtilités de cet outil de gestion d'état et d'exploiter efficacement ses capacités dans leurs projets.
Redux suit un modèle de flux de données unidirectionnel et repose sur trois principes fondamentaux :
Tout d'abord, installez Redux et React-Redux :
npm install redux react-redux @reduxjs/toolkit
Cette commande installe la bibliothèque principale Redux, les liaisons React pour Redux et le Redux Toolkit, qui simplifie de nombreuses tâches courantes telles que la configuration du magasin et la création de tranches.
Les actions sont des charges utiles d'informations qui envoient des données de votre application à votre boutique Redux. Les types d'action sont des constantes qui représentent l'action.
export const INCREMENT = "INCREMENT"; export const DECREMENT = "DECREMENT"; export const INCREMENT_BY_VALUE = "INCREMENT_BY_VALUE"; export const RESET = "RESET"; export const increment = () => ({ type: INCREMENT }); export const decrement = () => ({ type: DECREMENT }); export const incrementByValue = (value) => ({ type: INCREMENT_BY_VALUE, payload: value, }); export const reset = () => ({ type: RESET });
Définir clairement les actions et les types d'actions permet de maintenir la cohérence et de réduire les erreurs dans votre application.
Les réducteurs spécifient comment l'état de l'application change en réponse aux actions envoyées au magasin. Les tranches sont un ensemble de logiques et d'actions de réduction Redux pour une seule fonctionnalité de votre application, créées à l'aide de la méthode createSlice de Redux Toolkit.
import { createSlice } from "@reduxjs/toolkit"; const initialState = { number: 0 }; const counterSlice = createSlice({ name: "counter", initialState, reducers: { increment: (state) => { state.number = 5; }, decrement: (state) => { state.number = Math.max(0, state.number - 5); }, incrementByValue: (state, action) => { state.number = action.payload; }, reset: (state) => { state.number = 0; }, }, }); export const { increment, decrement, incrementByValue, reset } = counterSlice.actions; export default counterSlice.reducer;
Pour combiner plusieurs tranches :
import { combineReducers } from "@reduxjs/toolkit"; import counterReducer from "../slices/counterSlice"; const rootReducer = combineReducers({ counter: counterReducer, }); export default rootReducer;
Le magasin est l'objet qui rassemble les actions et les réducteurs. Il contient l'état de l'application, permet d'y accéder via getState(), le met à jour via dispatch(action) et enregistre les auditeurs via Subscribe(listener).
import { configureStore } from "@reduxjs/toolkit"; import rootReducer from "../reducers/rootReducer"; const store = configureStore({ reducer: rootReducer, }); export default store;
Pour connecter les composants React au magasin Redux, utilisez le composant Provider de React-redux pour transmettre le magasin à vos composants, et utilisez les hooks useSelector et useDispatch pour accéder et manipuler l'état.
import React from "react"; import { Provider } from "react-redux"; import store from "./redux/store/store"; import Counter from "./components/Counter"; import MusCo from "./MusCo redux logo.png"; function App() { return (); } export default App; Practice Redux with MusCo
by Mustafa Coskuncelebi
import { useDispatch, useSelector } from "react-redux"; import { decrement, increment, incrementByValue, reset, } from "../slices/counterSlice"; import { useState, useEffect } from "react"; function Counter() { const [value, setValue] = useState(""); const dispatch = useDispatch(); const number = useSelector((state) => state.counter.number); useEffect(() => { const showcase = document.querySelector("#showcase"); if (numberCounter
{number}
{ let newValue = e.target.value.trim(); if (newValue === "") { newValue = ""; reset(); } if (/^\d*$/.test(newValue)) { setValue(newValue); } }} value={value} placeholder="Enter Value" />Counter cannot be less than 0
); } export default Counter;
Redux est une bibliothèque puissante pour gérer l'état de vos applications. En comprenant les actions, les réducteurs, le magasin et comment tout connecter à vos composants React, vous pouvez créer des applications prévisibles et maintenables.
Pour plus d'informations, consultez la documentation officielle de Redux :
En suivant ce guide, vous devriez avoir une solide compréhension de Redux et être capable de l'implémenter dans vos propres applications.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3