javascript - 将回调与 Action 创建者一起使用

标签 javascript reactjs callback redux axios

我在完成后发出 POST 请求 我想使用回调将用户重定向到新页面。下面是我的 onSubmit 处理程序。

 onSubmit(values) {
        console.log('before action');
        this.props.createPost(values, () => {
            console.log('callback fired');
            this.props.history.push('/someotherpage');
        });
    }

这是我的 Action 创作者。

export function createPost(values, callback) {
    const request = axios.post(`/api/create_post`, values)
        .then(() => callback());

    return {
        type: CREATE_POST,
        payload: request
    };
}

我期待回调将我重定向到另一个页面,但它没有这样做。数据确实被发送到数据库,但回调没有触发。

最佳答案

根据您在评论中添加的错误消息,您的 HTTP 调用失败,promise 被拒绝。因此,永远不会调用 .then() 处理程序。

通过 .catch() 处理程序添加错误处理,您应该能够处理(失败的)调用结果。

关于javascript - 将回调与 Action 创建者一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47419517/

相关文章:

javascript - AngularJS 路由不渲染模板

javascript - Angular js 中的多个过滤器

javascript - react scrollTop 不工作

javascript - console.log 打印数据两次 [reactjs]

javascript - 无法在 React 和 Meteor 中使用 componentWillMount 读取未定义的属性

c++ - C++结构中的回调

javascript - 如果父级具有特定值,则希望将 CSS 类添加到子级

javascript - 尝试让两张图片根据页面宽度调整大小

python - Optparse:变量 arg 回调操作的使用并不表示需要额外的参数

javascript - 当从函数内部调用回调时,为什么(如何) 'this' 的值会发生变化?