Добавить redux-persist на работающем config приставки - PullRequest
0 голосов
/ 17 октября 2018

Я мог бы немного помочь с настройкой redux-persist.У меня есть хранилище резервов с двумя промежуточными программами, конфигурация работает, но я не могу добавить должным образом резервирование.либо мне удается выполнить повторную гидратацию, но действия больше не вызывают редуктор, либо у меня возникают различные ошибки.Я считаю, что документ с избыточным количеством записей немного плох.

Вот моя текущая конфигурация:

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

1 Ответ

0 голосов
/ 18 октября 2018

Я наконец-то преуспел, если это поможет, вот конфигурация для установки:

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

Приложение.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;

Вот список зависимостей и версий

"react": "^16.5.2",
"react-dom": "^16.5.2",
"react-redux": "^5.0.7",
"react-router-dom": "^4.3.1",
"react-scripts": "2.0.5",
"redux": "^4.0.1",
"redux-logger": "^3.0.6",
"redux-persist": "^5.10.0",
"redux-thunk": "^2.3.0"

В данный момент именованные экспорты не работают, поэтому мне пришлось создать второй файл для персистора, чтобыбыть в состоянии использовать экспорт по умолчанию для магазина и персистора.

...