Как сделать так, чтобы ваш интерфейс имел массив заданного типа - PullRequest
0 голосов
/ 08 мая 2020

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

export interface MyTypeSelector extends Omit<SelectProps, 'children'> {
myTypeArray: MyType[];
onTypeChange?: Function;
modifyBeforeSet?: (value: any) => any;
}

Я хочу передать этот объект в качестве входных данных для моего селектора компонент, а в myTypeArray я хочу предоставить свой список. Это может быть числовой массив, в котором хранятся идентификаторы всех городов, это может быть строковый массив с именами покемонов для моей команды или массив некоторых случайных объектов, которые я создал.

Следует использовать что-то вроде any[]? Фактически я хочу ограничить массив только объектами того же типа, которые я предоставлю при создании компонента селектора. Как мне с этим справиться?

1 Ответ

1 голос
/ 08 мая 2020

Вы можете создать MyTypeSelector generi c и при необходимости передать ему правильный тип:

export interface MyTypeSelector<T> extends Omit<SelectProps, 'children'> {
myTypeArray: T[];
onTypeChange?: Function;
modifyBeforeSet?: (value: any) => any;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...