2016-09-18 4 views
2

store.jsUncaught Ошибка типа: (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

Спасибо очень много, я новичок redux, снова спасибо –

+0

Это 'export default {...' в конце концов больше не работает. Вы должны экспортировать по имени в соответствии со спецификациями. Экспорт должен быть 'export function configureStore (initialState) {...}'. – DDS

+1

@HieuBui Обратите внимание, что это проблема ES6, которая действительно не имеет ничего общего с Redux. – DDS