2017-12-08 24 views
1

私は<App>の小道具としてルートを取るダイナミックルータを持っています。デフォルトでは、すべてのルートがブロックされ、ユーザーはPaymentsにしか移動できません。Redux - Redux経由で親の小道具を更新しますか?

いくつかのレベルの深い私は<Payments>を持っています。あなたが最初の支払いを行うたら、要するに、全体のアプリにアクセスできるようにする必要があります

<App> -> <OtherComponent> -> <OtherComponent> - <Payments> 

は私が(<App>減速でReduxの状態を変更し、<App>小道具を変更すること<Payments>(孫)でアクションを派遣したいです祖父母)、どうすればこれを処理できますか?限り、私は懸念している私は<Payments>でmapStateToPropsを許可されますが、ルータは<App>にあります。

私は基本的な反応ルータを使用していて、他のもの(例えばreact-redux-router)のためにそれを変更しないでください。私はReduxの部分がちょうど得た、私が持っている問題は、 CombineReducersある一つの大きなフラットな状態で、それは私が達成したいものを行うために私のため 簡単peasyだろうが、私は私の状態のように感じると思います

+1

すべてのコンポーネントがアプリケーション状態にアクセスでき、状態をどこからでも更新するアクションをディスパッチすることができます。関連するコンポーネントがそれを取得します。これは、コンポーネント状態に対してreduxストアを使用することの美点です。 –

+1

コンポーネントはreduxの ''コンポーネントの内部に存在し、したがって状態をすべてのコンポーネントのpropsにもマップします。それが実際にあなたがレフィックスを使う理由です。したがって、あなたの ''コンポーネントにアクションをディスパッチして状態を変更し、 ''コンポーネントをそのコンポーネントに接続してください。 – trixn

+0

皆さんはいくつかの例を教えてください。私はconnect()でreact-reduxを使用していますが、上記のコンポーネントにどのようにプロップを渡すかわかりません。私のAppコンポーネントとPaymentsコンポーネントは、別々のレデューサーを使用しています。 – Wordpressor

答えて

1

今は真に グローバルではありませんが、3つの異なるレデューサーの間で分割され、彼らはお互いに アクセス権を持っていません。

複数のレデューサーで同じアクションを安全に聞くことができます。そうすることも良い習慣です。あなたの店の複数の場所に影響を与えるアクションを想像してみてください。すべてのネストされた構造には独自のレデューサーがあるため、複数のレデューサーでそのアクションを聴かなければなりません。それは全く問題ありません。

関連する問題