#react-native #redux #redux-persist
Вопрос:
Я пытаюсь сохранить только одну переменную (которая представляет собой массив с массивами и объектами внутри) из моего galleryReducer. У меня есть 3 общих редуктора: cameraReducer, signupReducer, galleryReducer. Прямо сейчас я сохраняю весь galleryReducer, но я не уверен, как настроить createFilter из ‘redux-persist-transform-filter’, чтобы сохранялись только неудачные загрузки. Вот код настройки, чтобы разобраться во всем этом:
Вот как выглядит мой приводчик галереи:
const initialState = { galleries: { galleries: [ { loading: true, }, ], error: false, }, ... failedUploads: [ lt;--- THE PORTION OF THIS REDUCER THAT I WANT TO PERSIST. { userID: '', failedUploads: [], }, ], }
Настройка в моем app.js
import signupReducer from './src/store/signup-auth/reducer' import cameraReducer from './src/store/camera/reducer' import galleryReducer from './src/store/event/reducer' const persistConfig = { key: 'root', storage: AsyncStorage, whitelist: ['galleryReducer'], } const rootReducer = combineReducers({ signupReducer: signupReducer, cameraReducer: cameraReducer, galleryReducer: galleryReducer, }) const persistedReducer = persistReducer(persistConfig, rootReducer) const store = createStore(persistedReducer, applyMiddleware(ReduxThunk)) const persistor = persistStore(store) return ( lt;Provider store={store}gt; lt;PersistGate loading={lt;LoadingViewWithoutInsets /gt;} persistor={persistor} gt; lt;AppNavigator /gt; lt;/PersistGategt; lt;/Providergt; )
Комментарии:
1. Привет, мой друг, проблема решена?
2. Привет, Нима, Да, спасибо тебе за помощь. Я просто хочу упомянуть, что я переключил все свое приложение с Redux на Zustand. Это намного лучше, чем Redux. Это так просто, ваше приложение не оборачивается никакими поставщиками, для асинхронных функций не требуется диспетчеризация или средний износ, а для сохранения-любой средний износ. Я настоятельно рекомендую это сделать.
3. спасибо за вашу рекомендацию, я проверю
Zustand
. удачи