在React-router 1.0 / 2.0中,可以从Route组件访问路由参数this.props.params
- 但似乎没有支持的方法从上面Route组件中深深包含的组件访问参数。
可以通过context.location
访问数据类型,但是这个会发出警告,说明这已被弃用。
答案 0 :(得分:8)
开始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
数据,因此您需要自己将其传递给子(非路由处理程序)组件。
答案 1 :(得分:0)
根据2.0.0升级指南,您应根据需要自行将params
或location
传递给子组件。请参阅https://github.com/rackt/react-router/blob/master/upgrade-guides/v2.0.0.md#accessing-location。