React Router Redux,Switch不考虑locationBeforeTransitions

时间:2017-08-02 13:48:16

标签: reactjs react-router-redux

我不得不挖掘很多才能找到这个问题。

"历史":" ^ 4.6.3",
"反应":" ^ 15.6.1",
" react-dom":" ^ 15.6.1",
" react-redux":" ^ 5.0.5",
" react-router-dom":" ^ 4.1.2",
" react-router-redux":" ^ 4.0.8",

<Switch>
  <Route exact path="/" component={MyComponent1} />
  <Route path="/route2" component={MyComponent2} />
</Switch>

事实

Switch组件对&#34; locationBeforeTransitions&#34;一无所知。我想这个对象是react-router-redux注入的。

要解决这个问题,我必须通过mapStateToProps传递 locationBeforeTransitions ,并且......

<Switch location={this.props.location} />

所以我的开关组件知道当前位置是什么。

两个问题
1.为什么我必须这样做考虑到react-router-redux应该处理这个? 2.有没有办法做到这一点?

由于

1 个答案:

答案 0 :(得分:1)

react-router-redux仅与react-router版本2.x和3.x兼容,并且您使用的是React Router v4

这是一个新版本,他们已经改变了很多

  

在v4中,没有集中路由配置。您需要根据路线渲染内容的任何地方,您只需渲染一个组件   src:https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/guides/migrating.md

我建议你坚持使用v4并重新学习它。