反应路由器V6-未发现组件不能与动态参数/段塞一起工作?
我已经安装了"react-router-dom": "^6.0.0-beta.0"
并创建了一些页面路由。如果页面不存在,则面临Page404/NotFound组件无法工作的问题。由于某种原因,当我使用动态页面/帖子slug
时,如果没有具有此ID的页面/帖子,NotFound
组件将无法工作。
Reaction路由器内部是否有解决此问题的选项?
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
import AllPosts from "components/AllPosts";
import SinglePost from "components/SinglePost";
import NotFound from "components/Page404";
const App = () => (
<Router>
<Routes>
<Route element={<AllPosts />} path="/" exact />
<Route element={<SinglePost />} path="/:slug" />
<Route element={<NotFound />} path="*" />
</Routes>
</Router>
);
export default App;
解决方案
尝试删除Exact,因为已从V6中删除,并确保Page404是正确的组件或创建Notfin.jsx
检查帖子是否不存在,然后重定向到NotFound页面。
相关文章