現在、React、React Router、およびReduxを使用してSPAを実装しようとしています。React Routerを使用している場合、Reduxコンテナにアクションをディスパッチするにはどうすればよいですか?
このシナリオでは、同じ親プレゼンテーションコンポーネントとコンテナコンポーネントを共有する2つの階層ルートがありますが、URLに基づいて異なる「子」プレゼンテーションコンポーネントがレンダリングされます。例えば
:
/widgets/:slug
- >親+ウィジェット詳細ページ
/widgets/:slug/things/:thing
- >親+シングの詳細ページ
私は一緒に親をレンダリングするコンテナコンポーネントを作成しました子供。私がいる問題は、コンテナコンポーネントから例えばfetchWidgets(slug)
(私はアクションをディスパッチする必要があると思うことmapStateToProps
は下プレゼンテーションコンポーネントに適用小道具(例えばwidget
とthing
)を送信渡すようなものである。
何私は私が実際にアクションをディスパッチできるように、同じ場所でdispatch
メソッド参照およびprops.params.slug
またはprops.params.thing
プロパティ参照の両方を取得する方法で見つけ出すことはできません。
私のプレゼンテーションコンポーネントには、実質的にレフィックスが認識されていませんか?私はコンテナが実際のアクションディスパッチを行うべきだと考えていました。 –
コンテナコンポーネントに対してこれを行い、そのアクションをコールバックプロップとしてプレゼンテーションコンポーネントに渡す必要があります。 – tetutato