У меня есть функция, которая отображает массив. Это выглядит так:
// opt is either `statusA` | `statusB`
options.map((opt: keyof StatusType) => {
const activeStatus = statusCollection[opt]; //typescript doesnt scream `of any type` error
...
где StatusType выглядит следующим образом:
type Keyys = 'statusA' | 'statusB';
export type StatusType = {
[key in Keyys]: boolean;
};
Я сделал это, потому что хочу иметь возможность получить вычисленное свойство из объекта, чтобы сохранить его в ' Переменная activeStatus 'выше.
Это будет работать нормально, если параметры всегда имеют тип statusType
, однако, поскольку это общая функция c, я хочу иметь возможность передавать в другие коллекции. Как бы я определил type
вместо «StatusType», чтобы он был более обобщенным c и правильно использовал функцию keyof
.