Wir wissen bereits, dass Redux eine leistungsstarke Zustandsverwaltungsbibliothek für unsere JavaScript-Anwendungen ist, insbesondere bei der Arbeit mit React.
Die Arbeit mit Redux ist jedoch aufgrund des umfangreichen Codes zum Einrichten von Redux schwierig. Das erschwert die Wartung und das Debuggen. Hier hilft das Redux Toolkit.
Probleme, die das Redux-Toolkit löst
Redux Toolkit ist die offizielle und empfohlene Methode zum Schreiben von Redux-Logik. Es bietet eine Reihe von Tools zur Vereinfachung der Entwicklung, zur Reduzierung des Boilerplate-Codes, was zu Skalierbarkeit und wartbarer Anwendung beiträgt.
Hauptvorteile des Redux Toolkits:
Wir können das Redux-Toolkit mit jeder Javascript-Bibliothek verwenden, also richten wir das Redux-Toolkit mit React ein.
Redux Toolkit in einer React-Anwendung einrichten
Schritt 1: Erstellen Sie ein neues React-Projekt
Erstellen wir zunächst eine neue React-Anwendung. Zu diesem Zweck können Sie die Create-React-App oder Vite verwenden. Der Einfachheit halber verwenden wir hier „create-react-app“.
npx create-react-app redux-toolkit-example cd redux-toolkit-example
Schritt 2: Redux Toolkit und React-Redux installieren
Als nächstes installieren Sie die erforderlichen Pakete: @reduxjs/toolkit und React-Redux.
npm install @reduxjs/toolkit react-redux
Ein Slice ist eine Sammlung von Redux-Reduziererlogik und -Aktionen für eine bestimmte Funktion Ihrer Anwendung. Redux Toolkit bietet die Funktion „createSlice“, um mit minimalem Boilerplate einen Zustandsausschnitt zu erstellen.
Schritt 1: Erstellen Sie ein Slice
Lassen Sie uns einen einfachen Counter-Slice erstellen. Erstellen Sie eine neue Datei mit dem Namen counterSlice.js in einem Features/Counter-Verzeichnis:
// src/features/counter/counterSlice.js import { createSlice } from '@reduxjs/toolkit'; const initialState = { value: 0, }; const counterSlice = createSlice({ name: 'counter', initialState, reducers: { increment: (state) => { state.value = 1; }, decrement: (state) => { state.value -= 1; }, incrementByAmount: (state, action) => { state.value = action.payload; }, }, }); export const { increment, decrement, incrementByAmount } = counterSlice.actions; export default counterSlice.reducer;
Hier definieren wir einen Slice mit dem Namen „Zähler“ mit einem Anfangszustand und drei Reduzierern (Inkrement, Dekrement und InkrementByAmount). Die Funktion „createSlice“ generiert automatisch Aktionsersteller für jede Reduzierungsfunktion.
Da wir nun unser Slice haben, konfigurieren wir den Redux-Store. Redux Toolkit bietet eine configureStore-Funktion, die den Store mit guten Standardeinstellungen einrichtet.
Schritt 1: Einen Shop erstellen
Erstellen Sie eine Datei „store.js“ in einem App-Verzeichnis:
// src/app/store.js import { configureStore } from '@reduxjs/toolkit'; import counterReducer from '../features/counter/counterSlice'; const store = configureStore({ reducer: { counter: counterReducer, }, }); export default store;
Schritt 2: Stellen Sie den Store für Ihre App bereit
Wickeln Sie Ihre React-Anwendung in eine Komponente von React-Redux ein und übergeben Sie sie an den Store. Aktualisieren Sie die Datei index.js:
// src/index.js import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import { Provider } from 'react-redux'; import store from './app/store'; ReactDOM.render(, document.getElementById('root') );
Um mit dem Redux-Store zu interagieren, verwenden Sie die von React-Redux bereitgestellten useSelector- und useDispatch-Hooks.
Schritt 1: Zugriff auf den Status mit useSelector
Verwenden Sie den useSelector-Hook, um über den Store auf den Status zuzugreifen
// src/features/counter/Counter.js import React from 'react'; import { useSelector, useDispatch } from 'react-redux'; import { increment, decrement, incrementByAmount } from './counterSlice'; const Counter = () => { const count = useSelector((state) => state.counter.value); const dispatch = useDispatch(); return (); }; export default Counter;{count}
Schritt 2: Zählerkomponente in Ihrer App verwenden
Importieren und verwenden Sie die Counter-Komponente in Ihrer Haupt-App-Komponente:
// src/App.js import React from 'react'; import Counter from './features/counter/Counter'; function App() { return (); } export default App;
In diesem Teil haben wir die Grundlagen der Einrichtung des Redux Toolkits in einer React-Anwendung behandelt, einschließlich der Erstellung von Slices, der Konfiguration des Stores und der Verbindung von Komponenten mit dem Redux Store mithilfe von Hooks. Im nächsten Teil werden wir uns eingehender mit der Handhabung asynchroner Logik mit createAsyncThunk befassen, um Daten von APIs abzurufen und verschiedene Ladezustände zu verwalten.
Seien Sie gespannt auf Teil 2: Advanced Redux Toolkit – Async Logic mit createAsyncThunk!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3