错误:动作必须是普通对象。使用自定义中间件执行异步操作。

用户名

我目前正在使用reactjs来利用React-router,redux,thunk和firebase等技术来应用程序。不幸的是,当我调度一个异步操作时,出现以下错误。

我经历了stackoverflow提出的所有类似问题,但仍然找不到问题。

任何帮助,将不胜感激。

错误:

app.js:54628错误:操作必须是纯对象。使用自定义中间件执行异步操作。在分派(app.js:31576)在Object.fetchBase(app.js:32220)在Object.next(app.js:63640)在app.js:54507在app.js:54622在

package.json

...
"react-router-dom": "^4.1.1",
"react-router-redux": "^4.0.8",
"redux-thunk": "^2.2.0",
"redux": "^3.7.1",
...

store.js

import { createStore, applyMiddleware, compose } from 'redux';
import reduxThunk from 'redux-thunk';
import { routerMiddleware } from 'react-router-redux';
import { browserHistory } from 'react-router-dom';

// Import the root reducer
import allReducers from './reducers';

// import default data
import config from './data/config';

const defaultState = {
  events: [],
  config,
  activeGame: null,
  basePath: '',
};

const router = routerMiddleware(browserHistory);
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const store = createStore(allReducers, defaultState,
  composeEnhancers(applyMiddleware(reduxThunk, router)));

export default store;

Actions.js

...
export const fetchBase = () => {
  const organizationRef = database.ref(`users/${auth.currentUser.uid}/organization`);
  return dispatch => {
    organizationRef.once('value', snapshot => {
      dispatch({
        type: ActionTypes.FETCH_BASE,
        payload: snapshot.val()
      });
    });
  };
}; // fetchBase
...
用户名

感谢大家的帮助。我确实找到了问题,并且正在踢自己。上面的代码工作正常,问题出在我注册商店的地方。我正在导入用于测试目的的辅助存储文件。更新真实商店后,我忘了切换到它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Redux错误:动作必须是普通对象。使用自定义中间件进行异步操作

错误:动作必须是普通对象。使用自定义中间件执行异步操作。在React Native中

React Native :动作必须是普通对象。使用自定义中间件进行异步操作

动作必须是普通对象。使用自定义中间件进行异步操作。还原

错误:动作必须是普通对象。使用自定义中间件执行异步操作。但是我没有异步功能

如何解决:错误:动作必须是普通对象。使用自定义中间件进行异步操作。

动作必须是普通对象。即使使用 thunk 作为中间件,也使用自定义中间件进行异步操作错误

动作必须是普通对象,对异步动作使用自定义中间件

“动作必须是普通对象。对异步动作使用自定义中间件。” 与react / redux

动作必须是普通对象。使用自定义中间件进行异步操作,但我使用的是redux-thunk

React-Redux:动作必须是普通对象。使用自定义中间件进行异步操作

单元测试:动作必须是普通对象。使用自定义中间件进行异步操作

redux-observable动作必须是普通对象。使用自定义中间件进行异步操作

redux-observable + socket.io:动作必须是普通对象。使用自定义中间件进行异步操作

动作必须是普通对象。使用自定义中间件进行异步操作-React Native Redux

React-Redux-Saga:动作必须是普通对象。使用自定义中间件进行异步操作

React Redux Saga:动作必须是普通对象。使用自定义中间件进行异步操作

错误:操作必须是普通对象。使用自定义中间件进行异步操作。 - 即使操作包含方法

错误:操作必须是普通对象。使用自定义中间件进行异步操作。React-redux 错误

为什么我收到“错误:操作必须是普通对象。对异步操作使用自定义中间件。” 错误?

可能未处理的承诺拒绝:错误:操作必须是普通对象。使用自定义中间件进行异步操作

React/Redux... 错误:操作必须是普通对象。使用自定义中间件进行异步操作

Redux错误操作必须是普通对象。使用自定义中间件进行异步操作

我收到此错误:操作必须是普通对象。使用自定义中间件进行异步操作

react-redux错误:操作必须是普通对象。使用自定义中间件进行异步操作

React/Redux:错误:操作必须是普通对象。使用自定义中间件进行异步操作

使用Jest模拟会导致“动作必须是普通对象。将自定义中间件用于异步动作”。

Redux中间件问题-错误:操作必须是纯对象。使用自定义中间件进行异步操作

为什么会出现错误“操作必须是普通对象。对异步操作使用自定义中间件。” 出现,当没有异步操作时?