Javascript 未定义Redux中间件

Javascript 未定义Redux中间件,javascript,ecmascript-6,flux,babeljs,redux,Javascript,Ecmascript 6,Flux,Babeljs,Redux,当我运行这段代码时,我得到一个“中间件不是函数”错误 import 'babel-core/polyfill'; import { thunkMiddleware, Provider } from 'redux-thunk'; import createLogger from 'redux-logger'; import { createStore, applyMiddleware } from 'redux'; import { fetchDistricts, fetchSchools } f

当我运行这段代码时,我得到一个“中间件不是函数”错误

import 'babel-core/polyfill';
import { thunkMiddleware, Provider } from 'redux-thunk';
import createLogger from 'redux-logger';
import { createStore, applyMiddleware } from 'redux';
import { fetchDistricts, fetchSchools } from './actions.es6.js';
import rootReducer from './reducers.es6.js';
// import App from './components/App.es6.js';

const logger = createLogger({
    level: 'info',
    collapsed: true,
    predicate: (getState, action) => {action.type; }
});


const createStoreWithMiddleware = applyMiddleware(
    thunkMiddleware,
    logger
)(createStore);

const store = createStoreWithMiddleware(rootReducer);

store.dispatch(fetchDistricts('California')).then(state =>
    {
        var districts = store.getState().districtsByState['California'].districts;
        var fetchSchoolsDfds = [];
        for(var i = 0; i < districts.length; i++) {
            fetchSchoolsDfds.push(store.dispatch(fetchSchools(districts[i].id)));
        }
    }
);

let rootElement = document.getElementById('root');
而且_reduxThunk没有thunkshunk属性。在控制台中,当我注销控制台时,我返回此

function thunkMiddleware(_ref) {
  var dispatch = _ref.dispatch;
  var getState = _ref.getState;

  return function (next) {
    return function (action) {
      return typeof action === 'function' ? action(dispatch, getState) : next(action);
    };
  };
}

所以看起来(u reduxThunk)是thunk。我想这是巴贝尔的错误——为什么巴贝尔会错呢

好的。这是相当基本和愚蠢的。结果表明,提供程序不在“redux thunk”中,而在“redux react”中


这只是一个错误消息的例子

applyMiddleware
应从redux导入

Nodejs

const applyMiddleware = require("redux").applyMiddleware
棱角分明

import { applyMiddleware } from "redux"

旁注:对于
谓词
,您有一个无操作箭头函数。您能解释一下您的答案吗?我也有同样的问题。你需要从“redux react”
中导入{Provider}我想次要的一点。。。从“react redux”导入{Provider}。。。不是“重复反应”
import { applyMiddleware } from "redux"