6

ユーザーのリスト (詳細を含む) またはログ レコードのリストを返す管理者レポートのリストなど、いくつかのデータ テーブルがあるとします。この情報は、データ テーブルだけがこの情報を必要とする redux ストアに属していますか? または、5000 個のノードで何かをプロットしている場合はどうでしょうか。これも redux single app 状態に属しますか? なぜですか、そうでないのですか?

これらのアイテムがアプリの状態に属していない場合、これらを redux なしでロードする必要があるのはローカル コンポーネントの状態だけですか? ただし、すべての非同期リクエストが同様にフェッチされるのはいいようです。

4

2 に答える 2

1

redux はデータを気にしないため (アクションがディスパッチされたときに文字通りレデューサー関数を呼び出し、現在の状態を結果に置き換えるだけです)、パフォーマンスの問題は発生しません。提供するレデューサー関数と同じくらいパフォーマンスが高くなります。

これを直接確認したい場合: https://github.com/rackt/redux/blob/master/src/createStore.js#L115

反応するとパフォーマンスの問題が発生する可能性が高くなりますが、それでもその規模では疑わしい. ビュー要素の外にレンダリングしないようにテーブルを仮想化することもできますが、これは UI プログラミングの一般的な問題です。

于 2015-10-20T17:44:14.493 に答える
0

はい、Redux の方法は、すべてのクライアント側の状態を Redux ストアに置くことです。Redux の 3 つの原則、特に最初の原則を参照してください。

信頼できる唯一の情報源

アプリケーション全体の状態は、1 つのストア内のオブジェクト ツリーに格納されます。

これにより、追加のコーディング作業なしでサーバーからの状態をシリアル化してクライアントにハイドレートできるため、ユニバーサル アプリを簡単に作成できます。状態ツリーが 1 つであるため、アプリケーションのデバッグや内省も容易になります。また、開発サイクルを短縮するために、開発中のアプリの状態を維持することもできます。元に戻す/やり直しなど、これまで実装が困難であった一部の機能は、すべての状態が 1 つのツリーに格納されている場合、突然簡単に実装できるようになります。

于 2016-02-24T18:55:05.807 に答える