我正在与Expo.io一起反应本机项目 尝试将immer添加到减速器时,会引发上述错误。
(工作之前)
import { LOGIN_ACTION } from '../actions/actionTypes';
const initialState = {
user: false,
};
const User = (state = initialState, action) => {
switch (action.type) {
case LOGIN_ACTION:
return {
...state,
'user': action.user
};
default:
return state;
}
};
export default User;
之后(不工作)
import produce from 'immer';
import { LOGIN_ACTION } from '../actions/actionTypes';
const initialState = {
user: false,
};
const User = (state = initialState, action) => {
produce((state, draft) => {
switch (action.type) {
case LOGIN_ACTION:
draft.user = action.user;
break;
}
});
};
export default User;
我在做什么错了?
这是我得到的完整错误:
减速器“用户”在初始化期间返回未定义。如果传递给减速器的状态未定义,则必须显式返回初始状态。初始状态可能未定义。如果您不想为此减速器设置值,则可以使用null而不是undefined。
redux.js:366:22 每次 [本地代码]:0 assertReducerShape redux.js:359:32 CombineReducers redux.js:422:23 index.js:4:31 loadModuleImplementation require.js:292:12 index.js:2 loadModuleImplementation require.js:292:12 App.js:5 loadModuleImplementation require.js:292:12 AppEntry.js:2 loadModuleImplementation require.js:292:12 guardedLoadModule require.js:179:45 全局代码 :0