【发布时间】:2016-04-14 10:42:02
【问题描述】:
在 React-router 1.0/2.0 中,可以从 Route 组件以this.props.params 的形式访问路由参数 - 但似乎没有支持从上述 Route 组件中深深包含的组件访问参数的方法。
可以通过context.location 访问数据类型,但这个会引发警告,说明已弃用。
【问题讨论】:
标签: reactjs react-router
在 React-router 1.0/2.0 中,可以从 Route 组件以this.props.params 的形式访问路由参数 - 但似乎没有支持从上述 Route 组件中深深包含的组件访问参数的方法。
可以通过context.location 访问数据类型,但这个会引发警告,说明已弃用。
【问题讨论】:
标签: reactjs react-router
从in the latest version of React Router 开始,所有上下文数据都已弃用,取而代之的是this.context.router:
只有一个名为
router的对象被添加到上下文中。访问this.context.history、this.context.location和this.context.route均已弃用。这个新对象包含来自history(例如push、replace)以及setRouteLeaveHook的可用方法。
很遗憾,这不包括 location 数据,因此您需要自己将其传递给子(非路由处理程序)组件。
【讨论】:
this.props.location,方法是向下传递道具或提供您自己的上下文。
根据 2.0.0 升级指南,您应该根据需要自行将 params 或 location 传递给子组件。见https://github.com/rackt/react-router/blob/master/upgrade-guides/v2.0.0.md#accessing-location。
【讨论】: