在React-router 1.0/2.0中,可以從路由組件訪問路由參數爲- 但似乎沒有支持從組件深入包含的組件訪問參數的方式上面的Route組件。如何從路由器組件以外的組件訪問路由參數
可以通過context.location
訪問數據排序,但是這一個會發出警告,聲明這已被棄用。
在React-router 1.0/2.0中,可以從路由組件訪問路由參數爲- 但似乎沒有支持從組件深入包含的組件訪問參數的方式上面的Route組件。如何從路由器組件以外的組件訪問路由參數
可以通過context.location
訪問數據排序,但是這一個會發出警告,聲明這已被棄用。
開始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
數據,因此您需要將它自己傳遞給子節點(非路由處理程序)組件。
根據2.0.0升級指南,您應該根據需要自行將params
或location
傳遞給子組件。請參閱https://github.com/rackt/react-router/blob/master/upgrade-guides/v2.0.0.md#accessing-location。
是的,謝謝 - 我知道。但是context.router不提供參數info –
@PeterAronZentai你是對的......你可能需要手動爲子組件提供'this.props.location',或者通過傳遞prop或者提供你自己的上下文。 –
是的,那就是我最終做的,所以這更像是答案... –