Redux persist не хранит никаких данных для автономного использования - PullRequest
0 голосов
/ 21 сентября 2018

Я использую Redux, Reduce-Persist с Middleware Redux-Thunk для получения Json API. Моя проблема в том, что я больше не могу использовать его, когда Wi-Fi отключен. Хранилище не очень хорошо работает в автономном режиме.

 Here is my codes.

 Store.js 
 -------------
import { createStore, applyMiddleware, compose } from 'redux';
import { persistStore, persistReducer } from 'redux-persist';
import storage from 'redux-persist/es/storage';
import thunk from 'redux-thunk';
import rootReducer from './RootReducers';

const middleware = [thunk];
const persistConfig = {
  key: 'root',
  storage
};

const persistedReducer = persistReducer(persistConfig, rootReducer);


const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const enhancers = composeEnhancers(
  applyMiddleware(...middleware),
);

export default () => {
  const store = createStore(persistedReducer, enhancers)
    const persistor = persistStore(store);
  return { store, persistor: persistor };
};

1 Ответ

0 голосов
/ 21 сентября 2018

Возможно, вы забыли вызвать экспортированную функцию из configureStore.js.

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

Это работает для меня:

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';

// store
import { Provider } from 'react-redux';
import { PersistGate } from 'redux-persist/integration/react';

import configureStore from './configureStore.js';

// call your store config
const { persistor, store } = configureStore();

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

export default App;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...