Понимание ошибки TS при присвоении значения свойству Dynami c объекта (ключ из типа Union) - PullRequest
1 голос
/ 10 июля 2020

Я пытаюсь понять, почему TS предупреждает, что Type 'someValueHere' is not assignable to type 'undefined' при присвоении значения свойству Dynami c, ключ которого является одной из строк типа Union

вот ссылка на игровая площадка: Ссылка на игровую площадку

Я знаю, что довольно плохо объясняю проблему и, вероятно, здесь не хватает некоторых ключевых понятий ...

вопрос может вероятно, лучше сформулировать

спасибо за любую помощь по этому поводу

Edit

после повторного просмотра проблемы с помощью принятого ответа и комментариев я вижу, что ошибка Сообщение TS связано с тем, что объект, который создается в reduce l oop, утверждается как имеющий тип FanInfos, и что назначения в l oop не соответствуют всем возможным типам интерфейса FanInfos. свойства

1 Ответ

1 голос
/ 10 июля 2020

Проблема в том, что

interface FanInfos {
  email?: string;
  birthdate?: string;
  phonenumber?: string;
  firstname?: string;
  lastname?: string;
  optin_competition?: boolean;
  optin_subscription?: boolean;
}

Не является типом Union необязательных строк, но содержит некоторые необязательные логические значения.

Если field.name был «optin_competition» или «optin_subscription» , вы должны назначить строку необязательному логическому

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