(免责声明:我是React和React-Router的新手,所以对于那些熟悉的人来说这可能是显而易见的)
我正在使用带有ES6的React-Router 2.5.2创建一个简单的项目,我有一个可行的解决方案,但感觉它可能不是" React Router方式"。我有这条路线:
<Route path="lists/:listId" component={List}/>
和其他地方我有一个链接:
<Link to={`/lists/${props.list._id}`}>{props.list.name}</Link>
这是构成&#34;和#34;的首选方式吗?传递动态内容的属性?或者我是否从根本上误解了React Router?
答案 0 :(得分:6)
在react-router
的API文档中,它以完全相同的方式完成:
// change the activeClassName
<Link to={`/users/${user.id}`} activeClassName="current">{user.name}</Link>
参考:https://github.com/reactjs/react-router/blob/master/docs/API.md#link
答案 1 :(得分:1)
你做对了! :)
正如您在文档中看到的,这是传递to
道具的正确方法:
https://github.com/reactjs/react-router/blob/v2.5.2/docs/API.md#link
在之前的React Router版本中,有一个名为params
的道具,您可以在其中传递所有路线参数。
https://github.com/ReactTraining/react-router/blob/v0.13.6/doc/03%20Components/Link.md#params
但我认为React Router团队决定保持简单,因此您决定如何构建路线。此外,使用ES6模板非常适合。