Reactjs 未捕获错误:操作必须是普通对象。使用自定义中间件进行异步操作。
我正在构建一个Mern项目,当我测试帖子(将电影添加到购物车)时,我遇到了这个错误,不知道它从何而来,尝试了一切 这是我的Client.jsReactjs 未捕获错误:操作必须是普通对象。使用自定义中间件进行异步操作。,reactjs,redux,redux-thunk,Reactjs,Redux,Redux Thunk,我正在构建一个Mern项目,当我测试帖子(将电影添加到购物车)时,我遇到了这个错误,不知道它从何而来,尝试了一切 这是我的Client.js "use strict" import React from 'react'; import {render} from 'react-dom' ; import {Provider} from 'react-redux'; import {Router,Route,IndexRoute, browserHistory} from 'react-rou
"use strict"
import React from 'react';
import {render} from 'react-dom' ;
import {Provider} from 'react-redux';
import {Router,Route,IndexRoute, browserHistory} from 'react-router';
import {applyMiddleware, createStore,compose} from 'redux';
import thunk from 'redux-thunk'
import { createLogger } from "redux-logger";
import reducers from './reducers/index';
import {addToCart} from './actions/cartActions';
const middleware =applyMiddleware(thunk, createLogger());
const store = createStore(reducers, middleware);
import axios from 'axios';
export function postMovies(movie){
return function (dispatch){
axios.post("/movies",movie)
.then(function(response){
dispatch({type:"POST_MOVIE", payload:response.data})
})
.catch(function(err){
dipsatch({type:"POST_MOVIE_REJECTED", payload:"there was an error while posting a new movie"})
})
}
}
我在moviesActions.js上的功能
"use strict"
import React from 'react';
import {render} from 'react-dom' ;
import {Provider} from 'react-redux';
import {Router,Route,IndexRoute, browserHistory} from 'react-router';
import {applyMiddleware, createStore,compose} from 'redux';
import thunk from 'redux-thunk'
import { createLogger } from "redux-logger";
import reducers from './reducers/index';
import {addToCart} from './actions/cartActions';
const middleware =applyMiddleware(thunk, createLogger());
const store = createStore(reducers, middleware);
import axios from 'axios';
export function postMovies(movie){
return function (dispatch){
axios.post("/movies",movie)
.then(function(response){
dispatch({type:"POST_MOVIE", payload:response.data})
})
.catch(function(err){
dipsatch({type:"POST_MOVIE_REJECTED", payload:"there was an error while posting a new movie"})
})
}
}
您在catch函数中键入了“dipsatch”。除此之外,我们没有足够的信息来理解您的问题。您的商店创建看起来很好,为什么不显示您的提供商和发送此postMovies操作的部分?我应该添加什么来明确说明?案例“POST_MOVIE”:返回{…state,movies:[…state.movies,…action.payload]};