Я работаю над реагированием нативного проекта на 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