@mukzer

Как правильно написать enum в React Typescript?

У меня есть компонент, в который я передаю props "smartphone \ computer"
Как мне написать правильно enum для этих двух значений?

У меня выходит такая ошибка

TS2322: Type 'string' is not assignable to type 'DeviceType'.


interface IDeviceItem {
  smartphoneName?: string;
  deviceStatus: boolean;
  deviceType: DeviceType;
  location: string;
  lastSeen?: string;
}

enum DeviceType {
  smartphone = 'smartphone',
  computer = 'computer'
}


Вот на этом моменте и показывается такая ошибка
<DeviceItem deviceType={item.deviceType} />

TS2322: Type 'string' is not assignable to type 'DeviceType'.

Где deviceType это поле из объекта deviceType: 'smartphone',

После чего я данные вставляю здесь, меняя изображение
<img src={`/icon/device-${deviceType}-icon.svg`} />
  • Вопрос задан
  • 347 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега TypeScript
Тлен
Ну какбэ очевидно, что в item.deviceType у тебя строка, а не DeviceType. Проверь что у тебя там в item.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы