获取特定操作函数的以下错误:
错误·操作必须是纯对象。使用自定义中间件进行异步行动
以下代码在我的系统上运行良好,但不同用户的登录错误会出现错误。
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);