【发布时间】:2018-06-22 12:53:06
【问题描述】:
我正在使用redux-persist,它很棒。
但是,当我尝试在开发中仅使用它时,它似乎不起作用。我在这里做错了什么?
store.js
import thunk from 'redux-thunk';
import { createStore, applyMiddleware, compose } from 'redux';
import { persistStore, persistReducer } from 'redux-persist';
import storage from 'redux-persist/lib/storage';
import rootReducer from './reducers';
const persistConfig = {
key: 'root',
storage,
};
let store;
let persistor;
// Show the Redux Devtools only in development mode.
if (process.env.NODE_ENV === 'development') {
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const persistedReducer = persistReducer(persistConfig, rootReducer);
store = createStore(persistedReducer, composeEnhancers(applyMiddleware(thunk)));
persistor = persistStore(store);
} else {
store = createStore(rootReducer, applyMiddleware(thunk));
}
export { store, persistor };
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { PersistGate } from 'redux-persist/integration/react';
import App from './App';
import { store, persistor } from './store';
import registerServiceWorker from './registerServiceWorker';
if (process.env.NODE_ENV === 'development') {
ReactDOM.render(
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<App />
</PersistGate>
</Provider>,
document.getElementById('root'),
);
} else {
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root'),
);
}
registerServiceWorker();
【问题讨论】:
-
绝对是“开发”而不是“开发”或“开发”吗?
-
是的!它适用于 Redux 开发工具。
-
你发现问题了吗?
标签: reactjs react-redux redux-persist