我在完成后发出POST请求我想使用回调将用户重定向到新页面。下面是我的onSubmit处理程序。
onSubmit(values) {
console.log('before action');
this.props.createPost(values, () => {
console.log('callback fired');
this.props.history.push('/someotherpage');
});
}
这是我的动作创作者。
export function createPost(values, callback) {
const request = axios.post(`/api/create_post`, values)
.then(() => callback());
return {
type: CREATE_POST,
payload: request
};
}
我期待回调将我重定向到另一个页面,但它没有这样做。数据确实被发送到数据库,但回调不会触发。
答案 0 :(得分:1)
根据您在评论中添加的错误消息,您的HTTP调用失败,并且拒绝承诺。因此,永远不会调用.then()
处理程序。
通过.catch()
处理程序添加错误处理,您应该能够处理(失败的)调用结果。