首页 > 解决方案 > 如何正确使用 redux-persist-transform-filter

问题描述

我试图从我的galleryReducer 中只保留一个变量(这是一个包含数组和对象的数组)。我总共有 3 个减速器,cameraReducer、signupReducer、galleryReducer。现在我正在持久化整个galleryReducer,但我不确定如何从'redux-persist-transform-filter'配置createFilter以仅持久化失败的上传。这是设置的代码,以了解这一切:

这是我的 galleryReducer 的样子:

const initialState = {
    galleries: {
        galleries: [
            {
                loading: true,
            },
        ],
        error: false,
    },
     ...
    failedUploads: [ <--- 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 (
            <Provider store={store}>
                <PersistGate
                    loading={<LoadingViewWithoutInsets />}
                    persistor={persistor}
                >
                    <AppNavigator />
                </PersistGate>
            </Provider>
    
           )

标签: react-nativereduxredux-persist

解决方案


推荐阅读