2016-04-24 25 views
0

私がFluxのドキュメントから理解したところでは、店舗によって発生した小さな変更の再描画ビューをお勧めします。しかし、FluxをReactなしで使用していて、仮想DOMで完全なビューをレンダリングしてdiffをレンダリングするだけの場合はどうでしょうか。反応のないフラックスは信頼できるオプションですか?

ReactなしでFluxだけを実装したいのであれば、パフォーマンス上のボトルネックとなる店舗内のすべてのダムの変更について完全なビューを再描画しません。

答えて

0

あなたの心配は正しいです:どのような状態変更でも全体のビューを再描画すると、アプリのパフォーマンスが損なわれます。

ReactがDOMを選択的に更新できるため、ビューの再描画はReactとFluxでうまくいきます。コンポーネント上の小道具を変更すると、Reactは実際のDOMに変更を加えることなく、メモリ内のDOM全体を「仮想DOM」として再構築します。次に、この仮想DOMと実際のDOMの違いだけを適用し、非常に効率的なプロセスにします。

ReactなしでFluxを使用する場合は、自分で更新プロセスを管理する必要があります。したがって、たとえば、状態に50の異なる値があり、その値を変更する場合、その1つの値に関連付けられている要素を識別し、それに応じて更新し、他の値は変更しないでください。

2

Fluxでは、Storeで発生したマイナーな変更を再描画することはお勧めしませんが、DOMのレンダリングのタイミングを制御することができます。フラックスドキュメントから

From the flux docs

  1. 店は、アクションに応じて自分自身を更新しますが、これはビューに影響を与えません。
  2. ストアは、の変更イベントを送信したときにのみ更新されます。つまり、Fluxは、ビューを更新するタイミングを完全に制御します。また

は、すべてのビューは、更新されますストア内の特定の変数の変化を聞くのみ(コントローラ・ビュー)が更新されません。これにより、アプリケーションのパフォーマンスが向上します。

React以外のアーキテクチャーに従うことを希望する場合は、いつでも行うことができますが、ストア内のすべての変更について完全なビューを更新する必要はありませんボトルネック。

関連する問題