2016-05-23 90 views
3

我想在某些道具來通過從路由器到組件通過道具航線反應路由器2.4

事情是這樣的:

<Route component={Foo} some_prop={12}/> 

有沒有辦法用做到這一點最新的反應路由器?我知道這是不可能的(不使用包裝)前1.0。

回答

6

如果你直接通過他們喜歡的<Route />組件,它現在可以做到這一點正是你所建議的方式:您可以訪問foo道具上this.props.route.foo

<Route foo="bar" /> 

會給

途經:https://github.com/reactjs/react-router/blob/master/docs/Troubleshooting.md#passing-additional-values-into-route-components

作爲一個方面說明:如果你使用的東西更高層次的像<RouterContext />仍然需要使用某種類型的數據封裝組件,很遺憾。

+0

我只是沒想到如果路線道具被埋在裏面。想知道爲什麼他們通過頂級道具? –

+0

當他們稍後更新反應路由器時,路由基本上變成了幕後的普通對象,因此他們可以以更類似React的方式行事。 這裏有一些更多的背景:https://github.com/reactjs/react-router/issues/615#issuecomment-100432086 –