React Redux未捕获错误:期望Reducer是函数

问题描述:

我正在学习React,并在尝试设置Reux和Redux时遇到问题。即时得到这个错误就行与createStore:React Redux未捕获错误:期望Reducer是函数

Uncaught Error: Expected the reducer to be a function

index.js

import React from 'react'; 
import {render} from 'react-dom'; 
import {Provider} from 'react-redux'; 
import {createStore, applyMiddleware, compose} from 'redux'; 
import movieReducer from './reducers'; 
import App from './App'; 
import dataService from './services/dataService'; 

let store = createStore(movieReducer, {}, applyMiddleware(dataService)); 

render(
    <Provider store={store}> 
     <App/> 
    </Provider>, document.getElementById('main') 
) 

reducers.js

export const movieReducer = (state = {}, action) => { 
    switch (action.type){ 
     case 'GET_MOVIE_RECEIVED': 
      return action.data; 
     default: 
      return state; 
    } 
} 

我见过这样的其他问题,但他们似乎都没有解决我的问题。

+0

你是什么'export'在'减速.js'? –

+0

对不起,错过了粘贴。编辑过代码 – spersson

需要导出default,如果你想导入你正在做的方式:

export default (state = {}, action) => { 
    switch (action.type){ 
     case 'GET_MOVIE_RECEIVED': 
      return action.data; 
     default: 
      return state; 
    } 
} 

否则,你可以导入这样的:

import { movieReducer } from './reducers';