2 回答
TA贡献1809条经验 获得超8个赞
删除嵌套Routerin Auth,它将与 URL 路由冲突,即没有/dashboard为嵌套路由器声明路由,因此它呈现Auth没有子视图的视图
export default function Auth() {
let match = useRouteMatch();
return (
<div className="d-flex align-items-center bg-auth border-top border-top-2 border-primary vh-100">
<div className="container">
<div className="row justify-content-center">
<div className="col-12 col-md-5 col-xl-4 my-5">
<p>Auth</p>
<Route path={`${match.path}/login`}><Login /></Route>
</div>
</div>
</div>
</div>
);
};
您应该只需要Router
每个应用程序的一个实例,请参阅有关嵌套的文档
TA贡献1826条经验 获得超6个赞
您的路线设置不正确。这是一个现场演示
<Router>
<div className="App">
<Switch>
<Route exact path="/">
<Home />
</Route>
<Route exact path="/auth">
<Auth />
</Route>
<Route exact path="/auth/login">
<Login />
</Route>
<Route path="/dashboard">
<Dashboard />
</Route>
</Switch>
</div>
</Router>
也从路由器上取下auth.js
<Router>
<Route path={`${match.path}/login`}><Login /></Route>
</Router>
添加回答
举报