Kursinhalt
Redux Toolkit & React
Redux Toolkit & React
2. Redux Toolkit in der Praxis
Herausforderung: Einbindung von Redux in React
Schritt 4
Konzentrieren Sie sich darauf, Redux-Logik in eine React-App einzubinden. Verbinden Sie React-Komponenten und den Redux-Store, um Zustandsverwaltung und Aktionen zu ermöglichen.
Beispiel
Schiff Tracker App
Herausforderung
Form.jsx:
- Öffnen Sie die Datei
Form.jsx
. - Importieren Sie den
useDispatch
Hook aus demreact-redux
Paket. Dieser Hook wird verwendet, um Aktionen an den Redux Store zu senden. - Importieren Sie die
addGoal
Aktion aus der DateigoalAction.js
. Diese Aktion ist dafür verantwortlich, ein Ziel zum Redux Store hinzuzufügen. - Initialisieren Sie die
dispatch
Variable innerhalb der Komponente, indem Sie denuseDispatch
Hook aufrufen. - Vervollständigen Sie die
handleFormSubmit
Funktion, indem Sie dieaddGoal
Aktion senden. Verwenden Sie diedispatch
Funktion und übergeben Sie ein Objekt mit den Zieldetails:{ id: Date.now(), text: goal }
. DieDate.now()
Funktion generiert eine eindeutige ID für jedes Ziel. - Setzen Sie das Formular nach der Übermittlung zurück, indem Sie die
resetForm
Funktion aufrufen.
GoalList.jsx:
- Öffnen Sie die Datei
GoalList.jsx
. - Importieren Sie die
useDispatch
unduseSelector
Hooks aus demreact-redux
Paket. Diese Hooks werden verwendet, um auf den Redux Store zuzugreifen und Aktionen zu senden. - Importieren Sie die
removeGoal
Aktion aus der DateigoalAction.js
. Diese Aktion ist dafür verantwortlich, ein Ziel aus dem Redux Store zu entfernen. - Initialisieren Sie die
goals
Variable mit demuseSelector
Hook und greifen Sie auf dengoals
Zustand aus dem Redux Store zu. - Initialisieren Sie die
dispatch
Variable, indem Sie denuseDispatch
Hook aufrufen. - Vervollständigen Sie die
handleRemoveGoal
Funktion, indem Sie dieremoveGoal
Aktion senden. Übergeben Sie dasgoal
als Parameter. - Beenden Sie die Logik zum Rendern des Arrays von Zielen, indem Sie über das
goals
Array iterieren und jedes Ziel rendern. - Zeigen Sie den Text jedes Ziels an und fügen Sie eine Schaltfläche mit einem
onClick
Ereignis hinzu, das diehandleRemoveGoal
Funktion aufruft und das jeweiligegoal
übergibt.
- Verwenden Sie die Hooks
useDispatch
unduseSelector
, um auf den Redux-Store zuzugreifen und Aktionen zu versenden. - Arbeiten Sie mit den Aktionen
removeGoal
undaddGoal
ausgoalAction.js
, um Aktionen im Zusammenhang mit Zielen zu bearbeiten. - Stellen Sie sicher, dass die Nutzlast der Aktion
addGoal
eine eindeutigeid
enthält, die mitDate.now()
generiert wurde, sowie den Textwert aus dem Eingabefeld. - Implementieren Sie die Funktion
handleRemoveGoal
, um die AktionremoveGoal
mit dem entsprechenden Ziel zu versenden. - Verwenden Sie die Funktion
map
, um über das Arraygoals
zu iterieren und jedes Ziel zu rendern, wobei dessen Text angezeigt wird.
War alles klar?
Danke für Ihr Feedback!
Abschnitt 3. Kapitel 6