Тип FlowJS и использование && с присваиванием

Допустим, у меня есть следующий тип потока:

type formExample = {
  +form?: {
    +[string]: {
      values: {
        [string]: string | number | boolean
      }
    }
  }
}

Который я потом потребляю так:

const { email, password } = form && form.login && form.login.values

Который не проходит проверку типов потока с помощью:

Property email is missing in undefined [1]

Я не понимаю, как электронная почта может быть неопределенной и на какой поток жалуются?

1 ответ

Решение

Вы неправильно понимаете ошибку.

Тип form && form.login && form.login.values является {...} | undefined (в случае form не определено).

Поток жалуется, что ваша деструктуризация не имеет смысла, если значение undefined,

Другие вопросы по тегам