在React Route中使用绝对路径或相对路径

时间:2016-07-06 21:23:20

标签: reactjs react-router

所有

当我在第7课遵循其官方教程时,我对React Router很陌生:

https://github.com/reactjs/react-router-tutorial/tree/master/lessons/07-more-nesting

当涉及路线参数时:

// index.js
// ...
<Route path="/repos" component={Repos}>
  <Route path="/repos/:userName/:repoName" component={Repo}/>
</Route>

它开始使用绝对路径,我想知道:

[1] React-Router如何决定使用abosulte路径或相对路径,只是因为路径以斜线开头&#34; /&#34;(我发现的一件事是:一旦我添加斜杠在开头的相对路径上,无论其父路线是什么,该路径都会变成绝对路径。)?

[2]有没有办法可以使用相对params路径?如果没有,那么父路线的路径是&#34; / repos&#34;是什么意思?

由于

1 个答案:

答案 0 :(得分:3)

  1. React路由器目前使用绝对路径but they are working on relative routes

  2. 如果您想要相对路线,看起来人们从匹配参数获取当前路线,然后为其添加路线。例如,<Route path={match.path + '/more/stuff'}/>

  3. 在您提供的示例中,重点是每当当前路径包含/repos时,将会显示一些内容(由component={Repos}生成的repos链接列表)。当路径为/repos/:userName/:repoName时,它会继续显示该内容,因为该路径仍匹配/repos,但它也会显示特定回购的内容(component={Repo})。