Как создать избыточный черный список для вложенного состояния? - PullRequest
0 голосов
/ 21 октября 2019

Вот мой код для persistConfig и store, я хочу добавить blacklist для tracking, но не для всех состояний отслеживания, а только для tracking.checkingOut, tracking.checkingIn и tracking.searching,как это сделать правильно? Я понимаю, что если я хочу полностью удалить отслеживание, мне нужно будет написать blacklist: ['tracking'] внутри persistConfig, но я не уверен, что делать в случае вложенных состояний.

const persistConfig = {
    key: 'root',
    storage: AsyncStorage,
  }

const persistedReducer = persistReducer(persistConfig, reducers)

const createStoreWithMiddleware = applyMiddleware(thunkMiddleware)(createStore);

export const store = createStoreWithMiddleware(persistedReducer);

export const persistor = persistStore(store);

если я добавлю черный список следующим образом: черный список: ['tracking.checkingOut', 'tracking.checkingIn', 'tracking.searching'] это будет работать? или для этого должен быть другой подход?

1 Ответ

1 голос
/ 21 октября 2019

Вы можете использовать persistReducer глубже в своем дереве редуктора:

combineReducers({
  location,
  i18n,
  tracking: persistReducer({ key: 'tracking', storage: AsyncStorage, blacklist: ['whateverYouWantTo'] }),
})

В официальных документах есть пример redux-persist - https://github.com/rt2zz/redux-persist#nested-persists

...