Мутированный излишек сохраняется на развитии - PullRequest
1 голос
/ 10 марта 2019

Я использую redux-persist, чтобы сохранить мою стадию редукса в AsyncStorage в реагировать на нативную.Поскольку это новое приложение, я продолжаю изменять структуру исходного состояния моего редукса, чтобы учесть новые функции или исправления.Но когда я перезагружаю приложение, оно переопределяется старым состоянием, которое сохранялось при помощи redux-persist (регидратация).

Как я могу получить redux-persist для сохранения нового initialState без необходимости записи миграций в моей среде разработки?

Ответы [ 2 ]

0 голосов
/ 18 июля 2019

Если вы пытаетесь приспособить новые функции и не удаляете вещи, которые требуются для ваших представлений, то установите automergelevel на 2, поскольку он будет переопределять только существующие ключи, а все новое, что вы добавляете, будет просто добавлено с предоставленным вами исходным состоянием.

0 голосов
/ 11 марта 2019

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

import { persistor } from '../../AppContainer' // adjust this line for you
import RNRestart from 'react-native-restart'

clearPersistedState = () => {
    persistor.purge()
    RNRestart.Restart() // reload the React Native Bundle
}

Необходимо немедленно перезагрузить приложение, потому что, если после очистки сохраненного состояния вызывается какое-либо действие при редуксе, redux-persist снова сохранит старый initialState (который все еще находится в ОЗУ).

...