私はRedux Reducers docsを読んでいて、状態を正常化する方法を知ることはできません。この例の現在の状態は次のとおりです。React Reduxアプリケーションの状態を正規化する例は何ですか?
{
visibilityFilter: 'SHOW_ALL',
todos: [
{
text: 'Consider using Redux',
completed: true,
},
{
text: 'Keep all state in a single tree',
completed: false
}
]
}
以下に従った場合の例はありますか?
例えば、維持todosById:{ID - > TODO}とドス:配列は 内の状態は、実際のアプリでより良いアイデアだろうが、我々は簡単な 例を維持しています。
なぜ結果配列がまだ必要ですか?私にとって、正規化はデータ構造を配列からハッシュに変更して検索を高速化しますが、まだネストされています。私はそれがどのように平らであるかわかりません – mangocaptain
@mangocaptainあなたは1レベル深く行くことができ、そのデータを正規化!配列はオブジェクトの元の配列を再現するために必要です。たとえば。 'results.map(id => entities.articles [id])'はオブジェクトの元の配列を返します。これは別の配列のユースケースの1つです。 – Mihir
@mangocaptainユーザーがUIからいくつかの要素を削除したい場合、それらの要素を 'results'配列から削除するだけです。Reactで再レンダリングがトリガーされます。再描画中、 'results.map(id => entities.articles [id])'は更新されたデータを生成します。もしあなたに何の意味もないのであれば、私を許してください。しかし、React + Reduxを使っていくつかのサンプルプロジェクトを構築すれば、より理解しやすくなります。 – Mihir