gpt4 book ai didi

javascript - 在 react-router 2 中以编程方式重定向到页面

转载 作者:数据小太阳 更新时间:2023-10-29 06:15:29 26 4
gpt4 key购买 nike

我正在使用 react-router-2。我想在成功登录后或执行某些操作后以编程方式重定向到页面。

我的路由文件是这样的(routes.js)

   <Route path="/" component={App}>
<IndexRoute component={Home}/>
<Route path="/login" component={Login} onEnter={redirectToDashboard}/>
<Route path="dashboard" component={Dashboard} onEnter={redirectToLogin}/>
</Route>

onEnter 钩子(Hook)

function redirectToLogin(nextState, replace) {
// Perform some authentication check
if (!loggedIn) {
replace({
pathname: '/login',
state: { nextPathname: nextState.location.pathname }
});
}
}

function redirectToDashboard(nextState, replace) {
// Perform some check if already authenticated
if (loggedIn) {
replace('/dashboard')
}
}

我想在成功登录后从Logincomponent重定向到Dashboardcomponent

最佳答案

要重定向,您可以使用上下文中的 router 对象。您必须在组件(从中进行重定向的组件)中声明上下文类型。有关上下文的更多信息 link

ES6/7 语法:

static contextTypes = {
router: React.PropTypes.object.isRequired
}

现在您可以访问路由器对象并且可以进行重定向:

this.context.router.push('/dashboard');

关于javascript - 在 react-router 2 中以编程方式重定向到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36022308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com