Redux thunk - 错误 · 操作必须是普通对象。使用自定义中间件执行异步操作,即使使用键类型调度对象



获取特定操作函数的以下错误:

错误·操作必须是纯对象。使用自定义中间件进行异步行动

以下代码在我的系统上运行良好,但不同用户的登录错误会出现错误。

React组件文件:

import React, { Fragment, useEffect, useState, useRef } from 'react';
import { useSelector, useDispatch } from 'react-redux';
const dispatch = useDispatch();
const handleTabs = tab => {
dispatch(resetActionType());
tabChanged(tab);
};

操作文件:

export function resetActionType() {
return dispatch => {
dispatch({
type: 'RESET_ACTION_TYPE',
});
};
}

检查不同的问题,所以我可以理解,当我们不使用调度或在调度中返回的对象中键入键时,就会出现这个错误。但我同时在做这两件事。

并非所有计算机/OS/浏览器都发生错误。仅供少数用户使用。

上面的代码出了什么问题?如有任何指导,我们将不胜感激。

并不是每个操作都会发生这种情况,所以我想配置是可以的。

更新:

我正在使用redux thunk。

export function resetActionType() {
return dispatch => {
dispatch({
type: 'RESET_ACTION_TYPE',
});
};
}

如果您设置redux-thunk中间件,就会使用此语法。redux-thunk的目的是发出异步请求,一旦请求得到解决,它就会发送响应数据。这就是为什么CCD_ 1被传递一个参数。由于操作创建者内部没有异步代码,因此必须返回一个普通对象。

当你连接到商店时,dispatch已经调用了那个动作生成器。

connect(mapStateToProps, { yourActionCreator })(Component);

相关内容

最新更新