Reactjs 使用React路由器4的条件重定向
在我的React应用程序中,我有时需要执行条件重定向 例如,我将用户发送到登录页,根据用户单击的按钮,我在sessionStorage中存储一个值,并登录用户,该用户会自动将用户带到主屏幕 这就是我想要做条件重定向的地方。例如,如果我在sessionStorage中存储的值是“basketball”,我想将用户重定向到basketball新闻页面。如果没有存储任何值,我会将用户留在主屏幕上 我可以用window.location.replace处理这个问题,但这会导致页面回发。我宁愿通过加载适当的组件来处理这个重定向,而不是执行页面回发 我可以用React Router 4执行此操作吗?您可以使用该组件并将其包装在条件中:Reactjs 使用React路由器4的条件重定向,reactjs,react-router,Reactjs,React Router,在我的React应用程序中,我有时需要执行条件重定向 例如,我将用户发送到登录页,根据用户单击的按钮,我在sessionStorage中存储一个值,并登录用户,该用户会自动将用户带到主屏幕 这就是我想要做条件重定向的地方。例如,如果我在sessionStorage中存储的值是“basketball”,我想将用户重定向到basketball新闻页面。如果没有存储任何值,我会将用户留在主屏幕上 我可以用window.location.replace处理这个问题,但这会导致页面回发。我宁愿通过加载适当
//...
render() {
const isBasketBall = sessionStorage.get('something') === 'basketball';
return (
{isBasketBall && <Redirect to="/basketball-news" />}
{!isBasketBall && <Redirect to="/home" />}
);
}
//...
“正式文档”具有身份验证工作流。您可以使用该组件并将其包装在条件中:
//...
render() {
const isBasketBall = sessionStorage.get('something') === 'basketball';
return (
{isBasketBall && <Redirect to="/basketball-news" />}
{!isBasketBall && <Redirect to="/home" />}
);
}
//...
官方文档具有身份验证工作流。您也可以执行类似操作,而不是重定向:
{ isBasketBall && this.props.history.push("/basketball-news") }
您也可以这样做,而不是重定向:
{ isBasketBall && this.props.history.push("/basketball-news") }
是的…这是到文档的链接…然后这只是一个条件呈现的问题如果条件{}else{etc…是的…这是到文档的链接…然后这只是一个条件呈现的问题如果条件{}else{etc…请添加一些注释。请添加一些注释。