我使用的是React Router dom软件包,如果本地存储中没有访问令牌,则面临重新分配用户登录页面功能的问题。这是我当前的代码:
<Switch>
<Route
exact
path="/dashboard"
render={() => {
return JSON.parse(localStorage.getItem("accessToken")) ? (
<Redirect to="/dashboard" />
) : (
<Redirect to="/sign-in" />
);
}}
/>
<Route
exact
path="/select-product"
component={SelectProductPage}
/>
<Route exact path="/" component={InitialPage} />
<Route exact path="/sign-in" component={SignInPage} />
<Route exact path="/dashboard" component={Dashboard} />
<Route exact path="/sign-up" component={SignUpPage} />
<Route
exact
path="/select-product"
component={SelectProductPage}
/>
</Switch>
问题是重定向功能按预期工作,但未呈现仪表板组件,也就是说,当用户重定向到/ dashboard时,它是空的,也许我弄错了路由的顺序。我需要你的帮助)
您将重定向到没有任何渲染的路由,我认为这将在渲染上循环,因此您只需要放置jsx组件,而不是在登录用户的情况下重定向,如下所示
<Route
exact
path="/dashboard"
render={() => {
return JSON.parse(localStorage.getItem("accessToken")) ? (
<Dashboard /> {/* <---- here render your component dashboard */}
) : (
<Redirect to="/sign-in" />
);
}}
/>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句