Reactjs 在异步函数的内部返回重定向

Reactjs 在异步函数的内部返回重定向,reactjs,Reactjs,我用axios开发了一个登录服务功能。在我的登录组件中,我在单击登录按钮时调用该服务 所有这些都可以正常工作,只有一个例外:页面不重定向到/home(路由存在) const loginRequest=async()=>{ 返回等待登录服务(用户名、密码)。然后( (loginResponse)=>{ log('loginResponse',loginResponse); 如果(loginResponse.status==“成功”){ 设置错误(“”) 返回 }否则{ setError('auth

我用axios开发了一个登录服务功能。在我的登录组件中,我在单击登录按钮时调用该服务

所有这些都可以正常工作,只有一个例外:页面不重定向到/home(路由存在)

const loginRequest=async()=>{
返回等待登录服务(用户名、密码)。然后(
(loginResponse)=>{
log('loginResponse',loginResponse);
如果(loginResponse.status==“成功”){
设置错误(“”)
返回
}否则{
setError('authenticate_failed')
}
}
)
}
我的路线是这样的:

<Router>
    <Switch>
      <Route exact path="/home" component={Home} />
      <Route exact path="/login" component={Login} />
    </Switch>
</Router>


我缺少什么?

当您在loginRequest下返回重定向时,它只是login按钮的onClick函数的返回值。 不是渲染函数

您应该使用路由器重定向到登录页面

this.props.history.push('/home')

当您在loginRequest下返回重定向时,它只是login按钮的onClick函数的返回值。 不是渲染函数

您应该使用路由器重定向到登录页面

this.props.history.push('/home')

你能分享你的路由代码吗?@tolga分享你的路由代码和组件你能分享你的路由代码吗?@tolga分享你的路由代码和组件我刚刚找到了这个答案,正要写同样的东西。谢谢。我刚找到这个答案,正准备写同样的东西。非常感谢。