コンポーネントの階層内で互いに非常に離れた2つの要素間でデータを渡すとき、データを渡すのは面倒な作業です。これらのユースケースでは、Reduxを使用することに頼ったのは、コンポーネントが大量にあるときを把握することが少ないからです。Reactコンポーネントの状態をカプセル化するためにクロージャを使用する
小さなプロジェクトで行ったことは、閉包を使って状態をカプセル化し、その変数をエクスポートして別の場所で消費することです。私はこれが反パターンだと感じますが、うまくいきます。
この方法は、コンポーネント内で変更される変数を宣言することによって行われます。この同じ変数は、他の場所からインポートされ、他の場所から消費されます。ここで
は私が(ちょうど大きなコンポーネント階層があるふりを)やっているものに小さなサンプルです:https://codesandbox.io/s/2R9RvYkN1
だから私の質問は以下のとおりです。同じ結果を達成するためのより良い方法はありますか?これらのユースケースに対してFluxの実装を使用する必要がありますか?大きなコンポーネント階層を使って小道具を渡すだけでいいですか?
SOのポスト内のコードパターンを具体的な例で共有してください。 – vijayst
Reduxを使用している場合は、選択した色を設定する必要はありません。 'ColorSelector'は状態を更新するアクションをディスパッチし、選択された色はユーザーがボタンをクリックする必要なく自動的に更新されます。 – adrice727