TodoのタスクをReact-Reduxで選択できるようにしたいとします。 この状態はどこに保存する必要がありますか?リストの選択項目をReduxに格納するパターン
まずソリューション:タスク
第二の溶液にisActive: true
attributを追加します。ただ、選択した項目のIDを処理する新しい減速を作成します。
私は両方のソリューションが嫌いです:最初の1つは、その中にタスクに無関係なものを格納しているように感じ、2番目のIDはIDを格納するために全体の減速装置を作成するために過度に感じます。
他にもオプションはありますか?何がベストですか? ありがとう
ありがとうございます。最初のソリューションを使用する場合は、IDを変更したい場合は、新しい状態が不変であることを確認してください(同じリスト配列を参照しません) 見つけた唯一の解決策は var newState = JSON.parse (JSON.stringify(state)) newState.selected = action.id – Diogyn
詳細については、https://redux.js.org/docs/recipes/reducers/ImmutableUpdatePatterns.html – Diogyn
を参照してください。新しい選択されたアイテムのIDで選択した値を変更するだけで済みます。リストの配列を変更する必要はありません。アイテムを追加、削除または更新するため、リストに変更があった場合にのみ配列を変更します。この場合、その時点で選択されたアイテムが1つしかない場合、選択したアイテムを変更しても、アイテムデータ自体は変更されません。 –