没有与位置&q;/登录&q;匹配的路由Reaction路由器DOM v6 [英] No routes matched location "/login" react router dom v6
本文介绍了没有与位置&q;/登录&q;匹配的路由Reaction路由器DOM v6的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
根AppComponent
function AppComponent() {
return <AppRoute />;
}
AppRoute.js(基本路由)
const AppRoute = () => {
return (
<>
<GuestRoute path="/login" component={Login} />
</>
);
};
GuestRoute
const GuestRoute = ({ component: Component, ...rest }) => {
return (
<GuestLayout>
<Routes>
<Route {...rest} element={<Component />} />
</Routes>
</GuestLayout>
);
};
GuestLayout
const GuestLayout = ({ children, ...rest }) => {
return (
<div>
{children}
</div>
);
};
但是,当我转到/login
时,它没有分页,但仍然显示No routes matched location "/login"
的警告。我正在使用react-router-dom v6
推荐答案
如果您尝试共享多个版面,则RRDv6可以很好地处理这一开箱即用的功能。
使用GuestLayout
容器的重构示例:
<Routes>
<Route path="/" element={<GuestLayout />}> // <-- layout wraps children routes
<Route path="login" element={<Login />} /> // <-- "/login"
// Optional index route if no nested routes match
<Route
index // <-- "/"
element={<div>Default Page Content</div>}
/>
</Route>
</Routes>
这是通过让父布局容器组件为要呈现的嵌套路线呈现Outlet
来实现的。
const GuestLayout = () => {
return (
<div /* your crazy layout styling */ >
<h1>This is the Guest Layout Page</h1>
<Outlet /> // <-- matched nested route rendered here
</div>
);
};
这篇关于没有与位置&q;/登录&q;匹配的路由Reaction路由器DOM v6的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文