使用react-router-redux,非路由展示组件应该如何获取位置?
With react-router-redux, how should a non-route presentational component get the location?
是否有从非路由组件访问位置的好方法,其中 MapStateToProp
的 ownProps
未填充位置?在我的例子中,我需要从路由组件向下几层的位置;避免大量分层参数传递是我们使用 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
,这样您就可以直接在所需的组件中指定它,而无需作为 属性
向下传递
是否有从非路由组件访问位置的好方法,其中 MapStateToProp
的 ownProps
未填充位置?在我的例子中,我需要从路由组件向下几层的位置;避免大量分层参数传递是我们使用 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
,这样您就可以直接在所需的组件中指定它,而无需作为 属性