【发布时间】:2021-11-24 07:14:10
【问题描述】:
这是组件:
function App() {
const Main = () => {
return (
<section className="app_section">
<div className="navbar_container">
<Navbar />
</div>
<div className="pages_container">
<Routes>
<Route path="/" element={<HomePage />} />
<Route path="dashboard" element={<DashboardPage />} />
<Route path="about" element={<AboutPage />} />
<Route path="terms" element={<TermsPage />} />
<Route path="privacy" element={<PrivacyPage />} />
<Route path="api" element={<Api />} />
</Routes>
</div>
</section>
);
};
const NotFound = () => {
return <p>404</p>;
};
return (
<div className="App">
<Routes>
<Route path="login" element={<Login />} />
<Route path="/*" element={<Main />} />
</Routes>
</div>
);
}
如何为路由器添加第三个布局,以显示 404 Not Found 页面我尝试这样做:
<Routes>
<Route path="login" element={<Login />} />
<Route path="/*" element={<Main />} />
<Route path="*" element={<NotFound />} />
</Routes>
但由于"/*"点击所有链接而无法正常工作,我该如何缓解?
【问题讨论】:
-
当你说你想要一个不同的布局时,你指的是
Main正在呈现的部分和导航栏吗?你想让NotFound渲染到不同的布局容器中吗? -
@DrewReese 是的,为简单起见,我添加了这个
const NotFound = () => { return <p>404</p>; }; -
您需要根据您的要求处理您的路线。
/*太宽泛,应用程序按预期工作。您可能想要更改/*,理想情况下它应该是“特定的”而不是“通用的”
标签: reactjs react-router react-router-dom