使用react-router-redux,非路由展示组件应该如何获取位置?

With react-router-redux, how should a non-route presentational component get the location?

是否有从非路由组件访问位置的好方法,其中 MapStateToPropownProps 未填充位置?在我的例子中,我需要从路由组件向下几层的位置;避免大量分层参数传递是我们使用 Redux 的部分原因,因此我不倾向于仅通过所有中间层从路由组件向下传递位置。我最终直接在 mapStateToProps 中使用 routing 存储(在文档中警告),作为最好的错误选择。

该场景是一组通用 "frame" 组件由父路由放置,它们需要根据上下文略微更改。

react-router 的 v3.0.0 中,您可以使用 withRouter 来实现此目的。 现在,您应该将 package.json 更新为指向 3.0.0-alpha.1.

有来自@gaeron 的视频:https://egghead.io/lessons/javascript-redux-using-withrouter-to-inject-the-params-into-connected-components

此外,解决方法是使用 here 中的 context,这样您就可以直接在所需的组件中指定它,而无需作为 属性

向下传递