【发布时间】:2017-09-04 06:29:15
【问题描述】:
大家好,我有这样的功能:
function dispatchSignup(username, password) {
return function(dispatch) {
const newUser = {username: username, password: password}
axios.post('/signup', newUser).then(() => {
return dispatch(signupAction)
}).then(() => {
return dispatch(push('/'))
}).catch((error) => {console.log(error)})
}
}
此功能首先向我的服务器发送注册请求。如果成功,'.then' 运行并分派一个 signupAction。然后我在此之后调用另一个“.then”,它应该只在这个 signupAction 被调度后运行,它将用户重定向到 '/' aka。我的主页。我遇到的问题是,是的,他们注册了,并且推送的 url 有效,但是它实际上并没有在“/”处呈现组件。这里发生了什么?就好像他们在互相阻挡一样,虽然我不太确定。我认为 Redux-thunk 是异步的,所以我调用的第二个动作在第一个动作成功调度之前不会被调度。
任何帮助将不胜感激,谢谢。
【问题讨论】:
标签: redux redux-thunk