Я заметил, что когда я пытаюсь визуализировать компонент React, который ожидает Generi c Type T
, я теряю TypeScript IntelliSense, предоставляемый VSCode.
Это код для проверки того, что Я говорю о:
interface ICompWithGeneric<T> {
myTitle: string;
data?: T;
}
interface IData {
foo: string;
bar: string;
}
export const CompWithGeneric = <T extends {}>(props: ICompWithGeneric<T>) => {
return <p>Hello</p>;
}
export const TestApp = _ => {
return <CompWithGeneric<IData> myTitle={'World'}></CompWithGeneric>; // Here, `CompWithGeneric` lose IntelliSense
}
Но я думаю, вы можете получить лучшее представление с этим GIF:
Как видите, когда CompWithGeneric
не передан общий тип c, IntelliSense показывает и data
, и myTitle
. Затем, когда я вставляю IData
, пишу CompWithGeneric<IData>
, IntelliSense не показывает data
или MyTitle
.
Это ошибка TypeScript в моем коде? Есть ли ограничение VSCode + TypeScript?