Redux Автономная проблема с регидратацией редуктора до нуля - PullRequest
0 голосов
/ 11 октября 2018

Я использую redux-offline , ниже показано, как я создаю свой магазин


let customConfig = {
    ...offlineConfig,
    persistOptions:{
        key: 'root',
        transforms: [immutableTransform()],
    },
    returnPromises : false,
    persistCallback : () => {this.setState({rehydrated : true})}
};

const { middleware, enhanceReducer, enhanceStore } = createOffline(customConfig);
let middlewares = applyMiddleware(offlineCommitHandler,thunk,middleware,);
store = createStore(enhanceReducer(IndexReducer),undefined,compose(enhanceStore,middlewares,persistAutoRehydrate({log:true})));

У меня есть несколько редукторов.

Проблема возникает только при регидратации одного редуктора, например: reducerA

Я поместил отладчик в autoRehydrate

  • При первом запуске приложения оно объединяет данные для редуктораA
  • При открытии приложения во второй раз входящее состояние для ReducerA равно null .

Ответы [ 2 ]

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

Для тех, кто ищет ответ на подобную проблему.

Моя проблема заключалась в том, что данные, которые я пытался сохранить, достигли максимального предела хранения для asyncStorage.

https://github.com/rt2zz/redux-persist/issues/199

Мне пришлось перейти на использование файлового хранилища вместо asyncStorage, чтобы получить избыточное постоянное хранение данных

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

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

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