我有一个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"全面"路由是匹配的,如果你甚至没有,你可能会看到"没有匹配的路由. "错误.

Reactjs相关问答推荐

NextJs Form不允许我输入任何输入,

如何访问子集合中的文档?

如何使用皮金贴图在Reactjs中制作 map 上的点之间的线的动画?

获取更改后的状态值

无法使用Reaction日期选取器和Next.js设置初始日期

我如何在不被 destruct 的情况下将导航栏固定在顶部?

shadcn输入+窗体+Zod;一个部件正在改变要被控制的不受控制的输入;

UseEffect 似乎不适用于页面的首次渲染

从 MongoDB createAt 字段中分割精确时间

React 为什么标签导致 onClick 事件运行 2 次?

Firebase Storage: 对象不存在图片上传路径错误

如何在悬停时更改 MUI 卡内容

损坏的图像 React useState

如果传递给挂钩的数据需要事先修改,如何使用自定义挂钩?

无法读取未定义的react native 的属性参数

React + i18next + Trans + Prettier:Prettier 最终会在重新格式化 JSX 时 destruct 翻译

Material UI:使用 mui 手风琴时出现props 类型失败:isValidElement 不是函数

加密 Django Rest Framework API 响应 + 解密响应应用程序中的响应

如何使用 babel 将 SVG 转换为 React 组件?

为什么 React 会多次调用我的应用程序的某些函数?