是否有必要在redux中实施病例复水?

是否有必要在redux中实施病例复水?,redux,redux-persist,Redux,Redux Persist,我正在react native中进行概念验证,并且正在使用redux persist。根据我所读到的,在版本5中状态是自动分配的,但是我没有在没有案例重新水化的情况下成功地重新水化状态 我的减速机: import {ADD_USER} from '../constants/actionTypes'; import { REHYDRATE } from 'redux-persist'; const initialState = { userName: null, fetchin

我正在react native中进行概念验证,并且正在使用redux persist。根据我所读到的,在版本5中状态是自动分配的,但是我没有在没有案例重新水化的情况下成功地重新水化状态

我的减速机:

import {ADD_USER} from '../constants/actionTypes';
import { REHYDRATE } from 'redux-persist';


const initialState = {
    userName: null,
    fetching: false
};

const userReducer = (state = initialState, action) => {
    let copied = Object.assign({}, state);
    switch (action.type){
        case ADD_USER:
            copied.userName = action.payload;
            break;
        case REHYDRATE:
            //console.log('Payload desde el reducer ', action.payload);fsdffdsdsfsdfsdf
            copied = action.payload.userReducer;
            break;
        default:
            break;
    }

    return copied;
};

export default userReducer;
我的配置库

const persistConfig = {
    key: 'root',
    storage,
    stateReconciler: autoMergeLevel2,
};

function logger({ getState }) {
    return (next) => (action) => {
        let returnValue = next(action)
        return returnValue
    }
}

const persistedReducer = persistCombineReducers(persistConfig, {userReducer});

export default () => {
    let store = createStore(persistedReducer, undefined, applyMiddleware(logger));
    let persistor = persistStore(store, null, () => {
        Alert.alert(
            'Fucking state',
            JSON.stringify(store.getState()),
            [
                {text: 'OK', onPress: () => console.log('OK Pressed')},
            ],
            { cancelable: false }
        );
    });
    return { store, persistor }
}

我的问题是,我在方法结束时返回状态,而不是在开关的每个情况下返回状态,这肯定会破坏自动补液。更换减速器后,我的问题消失了

减速器代码如下所示:

const initialState = {
    userName: null,
    fetching: false
};

const userReducer = (state = initialState, action) => {
    switch (action.type){
        case ADD_USER:{
            let copied = Object.assign({}, state);
            copied.userName = action.payload;
            return copied;
        }
        default:
            return state;
    }
};

export default userReducer;

我的问题是,我在方法结束时返回状态,而不是在开关的每个情况下返回状态,这肯定会破坏自动补液。更换减速器后,我的问题消失了

减速器代码如下所示:

const initialState = {
    userName: null,
    fetching: false
};

const userReducer = (state = initialState, action) => {
    switch (action.type){
        case ADD_USER:{
            let copied = Object.assign({}, state);
            copied.userName = action.payload;
            return copied;
        }
        default:
            return state;
    }
};

export default userReducer;

很奇怪但是你的帖子救了我一天很奇怪但是你的帖子救了我一天