2017-10-05 25 views
0

我一直在試着用我的reactx項目來實現redux-persist。這是我的。TypeError:store.getState不是函數

store.js:

import {compose, createStore, applyMiddleware} from 'redux'; 
import {persistStore, autoRehydrate} from 'redux-persist'; 
import {combineReducers} from 'redux'; 
import thunk from 'redux-thunk'; 

import reducer from './reducers/reducer'; 
import modalReducer from './reducers/modal-reducer'; 

const store = createStore(
      combineReducers({ 
       reducer, 
       modalReducer, 
      }), 
      compose(
       applyMiddleware(thunk), 
       autoRehydrate() 
      ), 
     ) 

export default persistStore(store); 

index.js:

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import {Provider} from 'react-redux'; 
import {BrowserRouter} from 'react-router-dom'; 
import './index.css'; 
import App from './App'; 
import store from './store'; 
import registerServiceWorker from './registerServiceWorker'; 

ReactDOM.render(
    <Provider store={store}> 
     <BrowserRouter> 
      <App /> 
     </BrowserRouter> 
    </Provider>, 
    document.getElementById('root')); 
registerServiceWorker(); 

我知道,如果我是在store.js出口默認情況下,只存儲,而不是persistStore(店) ,那麼代碼的作品,我不會遇到錯誤。有什麼想法嗎?

回答

0

我相信這種情況發生的原因是因爲module.exports存儲對象。當您撥打export default persistStore(store);時,您嘗試導出調用,而不是對象。這就是爲什麼export default store;有效,我相信納坦·海菲爾德寫的也會起作用。