我有一个path="users/:userNickname"
,它可以很好地工作,如users/.mary
users/mary.kim
,但如果路径是users/.
,它将重定向到404页面,即使没有发送请求到服务器.我觉得我错过了一些基本的东西.希望方向.
我有一个path="users/:userNickname"
,它可以很好地工作,如users/.mary
users/mary.kim
,但如果路径是users/.
,它将重定向到404页面,即使没有发送请求到服务器.我觉得我错过了一些基本的东西.希望方向.
React—Router "."
和".."
是一种"特殊"字符,当用作链路目标路径时,它们不会被字面上解释.
详情请看Link
相对
<Link to>
值(不以/
开头)解析 相对于父路由,这意味着它建立在URL之上, 与呈现<Link>
的路由相匹配的路径.可能 包含..
以链接到更上层的路由.在这些..
的工作方式与命令行cd
函数完全相同;..
删除父路径的一段.
早期版本的文档提到了102 "."
和".."
.在构建relative路径时,经常使用这些路径,其中您希望导航到相对于当前匹配路径的目标路径.
想象一下下面的路由 struct :
<Routes>
<Route path="/" element={<Home />} />
<Route path="foo" element={<Foo />}>
<Route path=":id" element={<FooItem />} />
</Route>
<Route path="bar" element={<Bar />}>
<Route path=":id" element={<BarItem />} />
</Route>
</Routes>
当前URL路径为:"/foo/123"
Action | Target Path |
---|---|
Navigate to sibling Foo item route from Foo |
to="./456" , which is same as just to="456" |
Navigate to sibling Foo item route from FooItem |
to="../456" |
Navigate to parent sibling Bar item route from Foo |
to="../bar/123" |
Navigate to parent sibling Bar item route from FooItem |
to="../../bar/123" |
这就是说,当你试图导航到"users/."
时,这与目标"users/"
是完全相同的,如果你没有为path="/user"
特别渲染任何路由,那么你的404"全面"路由是匹配的,如果你甚至没有,你可能会看到"没有匹配的路由. "错误.