我目前正在学习如何使用react-router
V6.我正在为我的App
创建嵌套路由,但它们似乎不起作用,我也不知道为什么.
以下是来自路由的代码:
const router = createBrowserRouter(createRoutesFromElements(
<Route path="/" element={<Root />}>
<Route path="about" element={<About />} />
<Route path="sign-up" element={<SignUp />} />
<Route path="articles" element={<Articles />} />
<Route path="articles/:title" element={<Article/>} />
<Route path="categories" element={<Categories />} />
<Route path=":name" element={<Category/>} />
<Route/>
<Route path="profile" element={<Profile />} />
<Route path="edit" element={<EditProfileForm />} />
<Route />
<Route path="authors/:name" element={<Author />}/>
</Route>
))
function App() {
return (
<>
<RouterProvider router={router} />
</>
);
}
第一行嵌套的路由(关于,注册...)运行得很好,但当我试图达到"/categories/:name"
或"profile/edit"
时,我得到的结果是错误404,我不明白为什么.
我打赌你们知道为什么!
我将它们从嵌套路径中移除,并为它们提供了绝对路径,但它不能作为具有相对路径的子路径运行
以下是该应用程序的屏幕:
我在嵌套路由Categories
上,我想点击概念链接,该链接应该会将我转到呈现子类别的页面,但我得到的只是一个错误404:
这里是一个代码Sandbox 的链接,我的项目运行link to codeSandbox.