Я также смог воссоздать это сообщение об ошибке при использовании тега привязки со следующим href:
<a href="javascript:">Example a tag</a>
В моем случае для получения «курсора указателя» использовался тег «a», и событие фактически контролировалось некоторым событием jQuery при щелчке. Я удалил href и добавил класс, который применяется:
cursor:pointer;
Это известная проблема . Это не существует в TypeScript. Причина заключается в том, что поддержка TypeScript для create-реагировать на приложения использует TypeScript для проверки типов и Babel для транспиляции.
Этот код TS
class B extends A {
id: string;
...
}
преобразуется в этот код ES.Следующий код:
class B extends A {
id;
...
}
Согласно предложению поля класса , неназначенное поле id
преобразован в this.id = undefined
.
Чтобы использовать поведение, совместимое с TypeScript, необходимо изменить настройку, чтобы использовать @babel/plugin-transform-typescript
для переноса в ES5 или использовать TypeScript вместо Babel, например, устарел react-scripts-ts
.
Два возможных обходных пути:
export interface Ctor<T> { new(...parts: Partial<T>[]): T; } export class Factory { public static Get<T extends object>(ctor: Ctor<T>, ...props: Partial<T>[]): T { const res = new ctor(); Object.assign(res, ...props); return res; } }