在工作redux配置上添加redux persist

在工作redux配置上添加redux persist,redux,react-redux,redux-persist,Redux,React Redux,Redux Persist,我需要一些关于redux persist配置的帮助。我有一个带有两个中间件的redux商店,配置正常,但我无法正确添加redux。要么我设法重新水合,但动作不再调用还原剂,要么我有各种错误。我觉得redux有点差 以下是我当前的配置: import { createStore, applyMiddleware, compose } from 'redux'; import { persistStore, persistReducer } from 'redux-persist' import s

我需要一些关于redux persist配置的帮助。我有一个带有两个中间件的redux商店,配置正常,但我无法正确添加redux。要么我设法重新水合,但动作不再调用还原剂,要么我有各种错误。我觉得redux有点差

以下是我当前的配置:

import { createStore, applyMiddleware, compose } from 'redux';
import { persistStore, persistReducer } from 'redux-persist'
import storage from 'redux-persist/lib/storage'
import thunk from 'redux-thunk';
import logger from 'redux-logger';
import allReducer from './reducers';

export default function configureStore() {
  return createStore(
    allReducer,
    applyMiddleware(thunk, logger)
  );
} 

我终于成功了,如果有帮助,下面是要设置的配置:

Store.js

import { createStore, applyMiddleware, compose } from 'redux';
import { persistReducer } from 'redux-persist'
import LocalStorage from 'redux-persist/lib/storage'
import thunk from 'redux-thunk';
import logger from 'redux-logger';
import allReducer from './reducers';

const persistConfig = {
  key: 'xxxx-key-xxxx',
  storage: LocalStorage,
}

const persistedReducer = persistReducer(persistConfig, allReducer)


export default createStore(
  persistedReducer,
  applyMiddleware(thunk, logger)
);
persistStore.js

import { persistStore } from 'redux-persist'
import store from './store';

export default persistStore(store);
App.js

import React, { Component } from 'react';
import { Provider } from 'react-redux'
import { PersistGate } from 'redux-persist/integration/react'
import store from './stores/store';
import persistor from './stores/persistedStore';

import Router from './routes'
import './App.css';

class App extends Component {
  render() {
    return (
      <Provider store={store}>
        <PersistGate loading={null} persistor={persistor}>
          <Router/>
        </PersistGate>
      </Provider>
    );
  }
}

export default App;

目前命名的导出不起作用,因此我必须为persistor创建第二个文件,以便能够使用存储和persistor的默认导出。

我终于成功了,如果有帮助,下面是要设置的配置:

Store.js

import { createStore, applyMiddleware, compose } from 'redux';
import { persistReducer } from 'redux-persist'
import LocalStorage from 'redux-persist/lib/storage'
import thunk from 'redux-thunk';
import logger from 'redux-logger';
import allReducer from './reducers';

const persistConfig = {
  key: 'xxxx-key-xxxx',
  storage: LocalStorage,
}

const persistedReducer = persistReducer(persistConfig, allReducer)


export default createStore(
  persistedReducer,
  applyMiddleware(thunk, logger)
);
persistStore.js

import { persistStore } from 'redux-persist'
import store from './store';

export default persistStore(store);
App.js

import React, { Component } from 'react';
import { Provider } from 'react-redux'
import { PersistGate } from 'redux-persist/integration/react'
import store from './stores/store';
import persistor from './stores/persistedStore';

import Router from './routes'
import './App.css';

class App extends Component {
  render() {
    return (
      <Provider store={store}>
        <PersistGate loading={null} persistor={persistor}>
          <Router/>
        </PersistGate>
      </Provider>
    );
  }
}

export default App;
此时命名的导出不起作用,因此我必须为persistor创建第二个文件,以便能够使用存储和persistor的默认导出