アプリのデータが不変データに基づいて構築されており、アプリが高速再レンダリングのために shouldComponentUpdate() で「===」等値演算子を使用している場合、制御されたコンポーネント(入力ボックスなど) をどのよう に実装できるのだろうか。
深くネストされたデータと、階層の深いところにある制御されたコンポーネントを想定してみましょう。
ローカル コンポーネントの状態が使用されている場合 (setState()) は、これを通常どおりに実装すると、不変データが変更されていないため、コンポーネント階層のレンダリング プロセスが分岐をスキップする可能性があるため、react によって変更が認識されません。これを回避するには、すべてのローカル コンポーネントの状態がアプリケーションの状態にある必要があり、制御されたコンポーネントのすべてのイベント (入力ボックスへの入力など) によって不変データが変更される必要があります。
これは機能するはずですが、これは、不変データが使用されている場合に制御コンポーネントを実装する (唯一の) 方法ですか? これをすべてフラックス (アクションの起動、ストア データのフェッチなど) で行うと、入力ボックスに入力するような単純なことで、多くのオーバーヘッド/ラウンドトリップが発生する可能性があります。