2016-04-14 41 views
0

複雑なコンポーネントがreduxストアに登録されているとします。最初にコンポーネントがマウントされると、ストアからの多くのデータが集約され、 "ModelView"オブジェクトが作成されます。reduxを使用して、複雑なページのコンポーネント状態を再計算しないようにするにはどうすればよいですか?

次に、このコンポーネントが新しい状態があるため、自分自身を更新するイベントを受け取ったとします。違いがあるかどうかを知るために、レンダリングメソッドが店舗からのすべてのデータを再集計する必要があるようです。私。 ModelViewオブジェクトがストア内のオブジェクトと異なるため、簡単な比較はできません。

「なぜModelViewなのか」と尋ねるかもしれません。なぜなら、render()のストアからデータを読み込むだけではないからです。これは単純なページの場合はきめ細かなアプローチですが、複雑なページの場合は遅れが目立ち、不可能です。

また、ビューの内部状態がストアと異なる場合があります。たとえば、ストア内でいくつかのタスクが更新されている可能性がありますが、UIを変更したくないのは、ユーザーにとって混乱するためです。たとえば、「新しい変更を表示する」ボタンをクリックすると。その1つのアプローチは、すべてを店舗に保管することです。ModelViewと通常の状態の両方ですが、それは過度ではありませんか?つまり、ModelViewをコンポーネント自体の内部に格納すべきではありませんか?

+2

あなたは再選択を見ましたか?これはこの問題を解決するために作られたものです。 –

答えて

0

は、のおかげで、メモ型 "ビューモデル"をReduxストアから合成可能な方法でどのように引き出すことができるかを説明するレシピです。

関連する問題