Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我会得到';。那么不是函数错误';?_Javascript_Reactjs_Asynchronous_React Native_Redux - Fatal编程技术网

Javascript 为什么我会得到';。那么不是函数错误';?

Javascript 为什么我会得到';。那么不是函数错误';?,javascript,reactjs,asynchronous,react-native,redux,Javascript,Reactjs,Asynchronous,React Native,Redux,我正在尝试在我的购物车操作中分派和调用函数GetUnaddedPartItems: cartRedirect = () => { this.props.dispatch(getUnaddedCartItems().then((result) => { if (result.length === 0) { this.setState({unaddedCartItems: result}); } }).catch

我正在尝试在我的购物车操作中分派和调用函数GetUnaddedPartItems:

cartRedirect = () => {
    this.props.dispatch(getUnaddedCartItems().then((result) => {
        if (result.length === 0) {
            this.setState({unaddedCartItems: result}); 
        }

    }).catch(err => {
        Actions.cart();
    }));
}
我能够进入我的行动,突破点击中第一行,但由于某种原因,不会移动到下一行,并立即跳出

然后我得到了错误。我不明白为什么它不尝试进入我的异步调用。有人能告诉我为什么会发生这种情况以及如何修复错误吗


您应该发送thunk操作,然后处理返回的承诺

this.props.dispatch(createMyThunkActionReturningPromise())
    .then(handleMyPromise)
    .catch(handleMyPromseError);

问题是您正在分派承诺,而不是函数(thunk action)。

是否
getUnaddedPartItems
返回承诺,还是应该在那次调用之后再给我一个呢?我想你在调度调用之后缺少了一个
,你真的想要在调度调用之后返回一个
getUnaddedPartItems
的结果。getUnaddedPartItems并没有返回一个承诺,而是返回了一个函数,我只是尝试了一个在操作中调用AsyncStorage,而不在调度调用中包装,但随后我得到一个错误语句“操作必须是普通对象。使用自定义中间件进行异步”,但我不想使用任何中间件。我认为异步存储应该回报一个承诺。你连接好thunk中间件了吗?返回函数的操作仅适用于redux thunk