2016-09-18 125 views
2

store.js未捕获的类型错误:(0,_store.configureStore)不是函数

import {createStore, applyMiddleware} from 'redux'; 
import createLogger from 'redux-logger'; 
import rootReducer from './reducers/index'; 

const logger = createLogger(); 

const createStoreWithMiddleware = applyMiddleware(logger)(createStore); 

export default function configureStore(initialState) { 
    return createStoreWithMiddleware(rootReducer, initialState); 
} 

index.js

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import TrackList from './components/TrackList'; 
import {configureStore} from './store'; 
import * as actions from './actions'; 

const tracks = [ 
    { 
    id: 1, 
    title: 'Title 1' 
    }, 
    { 
    id: 2, 
    title: 'Title 2' 
    } 
]; 

const store = configureStore(); 
store.dispatch(actions.setTracks(tracks)); 

ReactDOM.render(
    <TrackList />, 
    document.getElementById('app') 
); 

文件夹的src由index.js和store.js

显示消息Uncaught TypeError:(0,_store.configureStore)不是函数时F12

帮我谢谢

回答

2

您从模块导出一个单一的功能,让你的进口应该是:

import configureStore from './store'; 

你会使用

import {configureStore} from './store'; 

如果你的出口看起来像

export default { 
    configureStore: function(initialState) { 
    return createStoreWithMiddleware(rootReducer, initialState); 
    } 
} 
+0

非常感谢你很多,我是新手REDX,再次感谢 –

+0

最终'出口默认{...'实际上不再工作。根据规格,您现在必须按名称出口。导出应该是'export function configureStore(initialState){...}'。 – DDS

+1

@HieuBui请注意,这是一个与Redux无关的ES6问题。 – DDS

相关问题