Stellen wir uns vor, ich möchte eine Aufgabe in der Todo mit React-Redux auswählen können. Wo soll ich diesen Zustand speichern?Welches Muster zum Speichern des ausgewählten Elements einer Liste in Redux
Erste Lösung: Fügen Sie ein isActive: true
Ausprägungs zur Aufgabe
Zweite Lösung: Erstellen Sie ein neues Minderer nur die ID des ausgewählten Elements zu handhaben.
Ich mag beide Lösungen nicht: die erste fühlt sich an, als würde ich etwas ohne Bezug auf die Aufgabe darin speichern, die zweite fühlt sich übermüdet, um einen ganzen Reduzierer zu erschaffen, nur um eine ID zu speichern.
Gibt es noch eine andere Option? Was ist das Beste? Danke
Danke. Wenn ich die erste Lösung verwende, sobald ich die ID ändern möchte, wie stellen Sie sicher, dass der neue Status unveränderlich ist (und nicht das gleiche Listenarray verweist) Die einzige Lösung, die ich fand, ist var newState = JSON.parse (JSON.stringify (state)) newState.selected = action.id – Diogyn
Ich fand weitere Informationen hier: https://redux.js.org/docs/recipes/reducers/ImmutableUpdatePatterns.html – Diogyn
Wenn Sie die erste verwenden Lösung, müssen Sie nur den Wert von ausgewählt mit der ID des neuen ausgewählten Elements ändern. Das Array der Liste muss nicht geändert werden. Sie mutieren das Array nur dann, wenn sich die Liste ändert, weil Sie ein Element hinzufügen, entfernen oder aktualisieren. In diesem Fall, in dem zu diesem Zeitpunkt nur ein ausgewähltes Element vorhanden ist, ändert das Ändern des ausgewählten Elements nichts an den Daten eines Elements. –