反応アプリのレイアウト コンポーネントを作成し、ルートの変更時にサイド バーとナビゲーション バーを動的に更新したいと考えました。
redux を使用できますが、必要がない場合でも、すべての状態とメソッドをいつでも利用できます。
新しい反応コンテキストも見ましたが、redux と同じ問題があります。
反応ルーターを使用すると、新しいサイドバーまたはナビゲーション バーをマウントしているように見えます。
新しい状態とメソッドをレイアウト コンポーネントに動的に提供する方法はありますか?
(状態を別のもの、または複数の新しい状態に置き換えます: リンゴ --> オレンジ)
React ルーターは私の最良の選択肢のように見えますが、新しいルートごとにサイドバーとナビゲーション バーを含めるだけで同じことができます。
リンクを動的に追加することは問題ではありません。新しくマウントされたコンポーネントに影響を与えるボタンを追加することは問題です。ナビゲーション バーとサイド バーは親コンポーネントに存在するため、すべての状態とメソッドを認識する必要があります。
ありがとう、
編集:
例:
- ホーム - 概要 - お問い合わせ
リンクで問題ありません。switchComponet メソッドを使用して、リンク コンポーネントを他のコンポーネントに置き換えるだけです。
停止 - スピードアップ - ヘルプ
これらはすべてボタンです。次に、それらのメソッドと状態を Layout コンポーネントに追加する必要があります。アプリが成長すると、より多くの状態とメソッドを最上位コンポーネントに追加する必要があります。それらすべてを redux に配置できますが、すべての状態とメソッドは常に利用可能です。redux についてはおそらく間違った印象を持っています。多くのリソースを消費するかもしれないと思っていますが、間違っているかもしれません。