質問: 現在の**Stateの構造**が適切な構造であるかがわからず、悩んでいる。 現在は、公式解説を参考にして、Stateを正規化された構造にしておりますが、 ``` { boards: { byId: { 1: { // Boardタイトル title: "ボード1" // Board1内に存在するLane IDリスト lanes: [10, 20] } 2: { title: "ボード2" lanes: [30, 40, 50] } } // 全てのLaneIDリスト allIds: [1, 2] }, lanes: { byId: { 10: { // Lane10内に存在するLane IDリスト cards: [100, 200] } 20: { cards: [300, 400, 500] } 30: { cards: [ /* 略 */ ] } 40: { cards: [/* 略 */] } } // 全てのLaneIDリスト allIds: [10, 20, 30, 40, 50] } cards: { byId: { 100: { // TODO内容のテキスト text: "TODO1" } 200: { text: "TODO2" } 300: { text: "TODO3" } /* 略 */ } // 全てのLaneIDリスト allIds: [100, 200, 300, 400, 500, ...] } } ``` 上記の構造は、きちんと公式解説に従ったものとなっているでしょうか。
回答: 構造について変だと思う点はありませんでした。 関係ないかもしれませんが、ID の振り方が気になりました。 (board は lane は 10 * n, card は 100 * n となっている点です) byId 以下の key は**全体で一意にする必要はない**ので、それぞれの model がもつ連番(や取得したID)で構わないです。 API などで取得したデータを normalize して個々のレコードについてきた ID で byID の State に更新します。 (説明上あえてそうしているのであればすいません)