我有一堆react-router
路由,如下所示:
<Route path="/users" component={UsersIndex} exact />
<Route path="/users/new" component={UsersNew} />
<Route path="/users/:id" component={UsersEdit} />
<Route path="/posts" component={PostsIndex} exact />
<Route path="/posts/new" component={PostsNew} />
<Route path="/posts/:id" component={PostsEdit} />
<Route path="/blogs" component={BlogsIndex} exact />
<Route path="/blogs/new" component={BlogsNew} />
<Route path="/v/:id" component={BlogsEdit} />
我使用location
通过withRouter
对象访问路线信息。我希望能够知道哪个&#34;区域&#34;我随时都在。我现在可以通过查看路线是否以某个值开始(例如&#34; / users&#34;)来做到这一点,但这看起来很糟糕。我希望能够在定义每条路线时传递其他信息 - 在本例中为区域 - ?或许有更好的方法来做到这一点?
答案 0 :(得分:2)
您可以将其他道具传递给组件,但您需要更改路线定义以使用render
而不是component
:
<Route path="/users" render={props => <UsersIndex {...props} area="users" />} exact />
<Route path="/posts" render={props => <PostsIndex {...props} area="posts" />} exact />
<Route path="/blogs" render={props => <BlogsIndex {...props} area="blogs" />} exact />