Kursinhalt
Redux Toolkit & React
Redux Toolkit & React
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.
Danke für Ihr Feedback!