2017-09-27 44 views
0

我有一个登录页面,成功认证后,服务器端将使用react-router更改页面。但是,由于某种原因,新的“联系人”页面在请求功能完成其任务之前呈现。在React JSX中满足前提条件之前,新页面正在呈现中

handleSubmit() { 
    if (makeRequest(this.state.username, this.state.password)) { 
     browserHistory.replace('Contact'); 
    } 
} 

有趣的是,如果登录细节无效,页面将不会改变。我在请求函数中有控制台日志,它应该在运行时显示,并且当输入有效的详细信息时它们不显示。

如果替换被注释掉,makeRequest()完成其任务。

我对JS和React很陌生,知道我必须在逻辑中犯错误!谢谢!

+0

如果你提供了更多的代码可能会很好 –

+0

makeRequest返回什么?一个承诺或数据? –

回答

1

makeRequest是一个异步任务,你应该使用异步任务管理的解决方案,如SUACH无极,发电机,异步等待

+0

谢谢!我使用了aync库来连续运行每一行。我被警告说,js中的行不按顺序运行,我很高兴这现在已经工作 – user3187956

0

你可以在你makeRequest法犯了一个错误。 如果您可以向我们展示其实施方案,或者您可以提供类似于您的makeRequest方法的代码,我们可以为您提供帮助。

相关问题