reactjs - 如何使用 react-router-dom v6 构建 404 页面
问题描述
我刚刚为 react-router-dom 升级到 v6beta,因为我想组织我的路由,但是 404 页面现在坏了:
export function AllRoutes(props) {
return(
<Routes>
<Route path="/about-us">
<Route path="contact"> <AboutContact/> </Route>
<Route path="our-logo"> <AboutLogo/> </Route>
<Route path="the-mission"> <AboutMission/> </Route>
<Route path="the-team"> <AboutTeam/> </Route>
<Route path="our-work"> <AboutWork/> </Route>
</Route>
<Route path="/user">
<Route path="sign-in"> <UserSignIn/> </Route>
<Route path="sign-up"> <UserSignUp/> </Route>
</Route>
<Route path="/">
<Home/>
</Route>
<Route >
<NotFound/>
</Route>
</Routes>
)
}
所以一切都按预期工作(包括主页),除了未找到的页面,即使添加path="/*"
或path="*"
有什么简单的解决方案吗?
解决方案
<Routes>
// Use it in this way, and it should work:
<Route path='*' element={<NotFound />} />
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
<Route path="/settings" element={<Settings />} />
</Routes>
推荐阅读
- reactjs - 导入基于 React 和 Typescript 的组件库会导致启动/构建时出现 Webpack 错误
- reactjs - 为新手创建一个反应函数
- node.js - 设置部署到 GitHub 页面时,`npm deploy` 缺少脚本错误
- amazon-s3 - 每天有数百万个 GET 请求(Amazon S3 USE2-Requests-Tier2)?
- c# - 具有混合字段和列表的 ViewModel
- javascript - 仅在 React-Router V5 中刷新路由上的组件
- javascript - Firebase 将创建一个新用户,但不会返回用户对象?
- github - 从 svn 迁移到 github 企业而不丢失提交历史
- class - Python:更新实例变量作为类方法中的参数传入
- slack - 在线程中响应 Slack Action