2017-10-05 5 views
0

Ich habe versucht, redox-persist mit meinem react redux-Projekt zu implementieren. Hier ist was ich habe.TypeError: store.getState ist keine Funktion

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(); 

Ich weiß, dass wenn ich den gerade Laden exportieren Standard, und nicht persistStore (Speicher) in store.js , dann funktioniert der Code und ich laufe nicht auf den Fehler. Irgendwelche Gedanken?

Antwort

0

Ich glaube der Grund, warum das passiert, ist, weil module.exports Objekte speichert. Wenn Sie export default persistStore(store); aufrufen, versuchen Sie, den Aufruf zu exportieren, nicht das Objekt. Das ist, warum export default store; funktioniert, und ich glaube, was Nathan Hayfield schrieb, wird auch funktionieren.