所有
当我在第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;是什么意思?
由于
答案 0 :(得分:3)
React路由器目前使用绝对路径but they are working on relative routes
如果您想要相对路线,看起来人们从匹配参数获取当前路线,然后为其添加路线。例如,<Route path={match.path + '/more/stuff'}/>
在您提供的示例中,重点是每当当前路径包含/repos
时,将会显示一些内容(由component={Repos}
生成的repos链接列表)。当路径为/repos/:userName/:repoName
时,它会继续显示该内容,因为该路径仍匹配/repos
,但它也会显示特定回购的内容(component={Repo}
)。