のは、私がReduxアプリケーションでデータを遅延ロードする方法は?
IClientState: {
firstName: string,
lastName: string,
details: IClientDetailsState
}
を得たとしましょうので、アクションが
xxxxState: {
clients: IClientState[],
...
}
親状態に1回のFELスイープ内のすべてのクライアントをロードし、のは、さらにサービスからfirstName
とlastName
を取得することは安くなっていると仮定しましょうしかし、いずれかのクライアントのためにdetails
を取得するのは非常に高価で、例えばリストに表示するためには必ずしも必要ではありません。
どうすればよいですか?私はIClientDetailsState
にloading
とloaded
のプロパティを追加し、このデータを必要とするコンポーネントのものをチェックすることを考えていました。そのコンポーネントは、両方のプロパティがfalse
を生成する必要がある場合、詳細をロードするアクションを実行します。
問題は、このチェックはコンポーネントの視点からはかなり複雑であり、このようにするべきではないことを示す警告サインです。
だから、私はこれをどのように適切に処理しますか?