Как назначить тип для объекта в TypeScript на основе регистра переключателя - PullRequest
0 голосов
/ 28 октября 2018

Я создаю приложение React Native с TypeScript.

Я пишу обработчик с регистром переключения, например так:

export const handleMessageData = (dispatch: Dispatch, messageData: FCMMessage): void => {
  const { type, message_data } = messageData;
  const data = camelizeKeys(JSON.parse(message_data));
    switch (type) {
        case conditionOne:
          data.consumer = data.consumer.uuid;
          setHouses({ entities: { houses: { [data.uuid]: data } } });
        // ... more cases
        default:
          // ... do stuff
      }
    };

В каждом случае я знаю, какой типdata есть.Как я могу сказать, что машинопись это?

Псевдокод:

case conditionOne:
  data: MyType;
  data.consumer = data.consumer.uuid;

1 Ответ

0 голосов
/ 28 октября 2018

Было бы полезно больше кода вокруг вашего switch (например, откуда взялись type и data и как они выглядят?).В общем, вы можете использовать теговое объединение, тип объекта, тип записи или ряд других способов объявить отношения между двумя типами.

...