web-dev-qa-db-ja.com

接続してルーターの問題

私はReduxとReactを使用しています。App.jsにいくつかのルートがあります。プロジェクトのreact-reduxで接続機能も使用します。更新のブロックの問題を防ぐために、通常この方法でコンポーネントをラップしました

withRouter(connect(mapStateToProps, mapDispatchToProps)(App)),

ただし、withRouterの順序を変更して接続すると機能しません。

connect(mapStateToProps, mapDispatchToProps)(withRouter(App))

App.jsにpropsのconsole.logがあります。それはすでに場所と歴史の小道具を受け取ります。なぜ順序が重要なのか、その背後にある理論を理解しています。

18
xxddoo

これを参照してもらえますか https://reacttraining.com/react-router/core/api/withRouter 、それはそれが逆に機能しないことを明確に述べています

3
Aashish Karki

Reduxライブラリのメソッドcomposeで使用できます。

export default compose(
  withRouter,
  connect(mapStateToProps, mapDispatchToProps)
)(App);
25
Wesley Amaro