为什么redux会多次传递相同的@@ INIT`?

时间:2019-03-25 20:33:50

标签: reactjs redux

我对反应和还原感到很陌生。我正在尝试将用户数据的状态从本地存储预加载到用户状态。

我经历了this question。当第一个@@INIT动作传递给减速器时,它会传递预加载状态。但是,下次它不传递任何状态,并且先前的状态被新的空状态覆盖。 第二个@@INIT是默认状态,第一个@@INIT是预加载状态。 编码如下。

// in bootstrap.js
let localUser = getFromLocal('user').trim();
localUser = JSON.parse(localUser);
localUser = {"authReducers": fromJS({"user": localUser})}

let store = createStore(reducers, localUser, composeWithDevTools(middleware));


// auth_reducer.js
const defaultState = fromJS({
    user: {
        id: 0, name: '', token: '',
    }, loginErrors: [], registrationErrors: [],
})

export default function auth (state = defaultState, action) {
    switch ( action.type ) {
        // ...
        default:
            console.log('state passed ', state.toJS(), 'action passed ', action);
            let nState = defaultState.mergeDeep(state);
            return nState;
    }
}

Redux actions passed

0 个答案:

没有答案