Почему я не могу использовать неопределенное начальное состояние как избыточное - PullRequest
0 голосов
/ 26 октября 2018

Если я правильно понимаю, причина The initial state may not be undefined в Redux заключается в том, что:

Это был слишком распространенный источник ошибок.Люди забудут случай по умолчанию [в своем редукторе] и непреднамеренно вернут неопределенное значение, а затем удивятся, почему состояние сбрасывается время от времени.

Хотя я согласен с этим, я также думаю, что естьвариант использования для undefined в качестве допустимого начального состояния.В моем случае, loginUser изначально установлен на undefined.После того, как authenticateCheck() зависит от его результата, я устанавливаю loginUser либо null, либо объект аутентифицированного пользователя.Таким образом, мое приложение может различать значения null и undefined состояния loginUser и действовать соответственно.

const authenticatedUser = (state = undefined, action) => {
  switch (action.type) {
    case STORE_AUTHENTICATED_USER:
      return action.authenticatedUser;
    default:
      return state;
  }
};

Конечно, этот код жалуется, что The initial state may not be undefined

Как обходной путь, я могу обернуть loginUser в объект.теперь loginUserWrap может содержать loginUser с undefined значением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...