haben Wenn Sie eine Record
Klasse mit einer optionalen Eigenschaft haben, versuchen, etwa so:Wie eine Immutable.js optional (Typoskript) Record-Klasse Eigenschaft
class MyRecord extends Immutable.Record({
field: undefined
}) {
field?: string;
}
... Sie erhalten einen Typoskript Fehler wie so :
ERROR in [at-loader] myFile.ts:x:y
TS2415: Class 'MyRecord' incorrectly extends base class 'Instance<{ field: undefined; }> & Readonly<{ field: undefined; }>'.
Type 'MyRecord' is not assignable to type 'Readonly<{ field: undefined; }>'.
Types of property 'field' are incompatible.
Type 'string | undefined' is not assignable to type 'undefined'.
Type 'string' is not assignable to type 'undefined'.
Wenn Sie wie so der field
Standardwert loszuwerden:
class MyRecord extends Immutable.Record({}) {
field?: string;
}
... Typescript beschwert sich nicht mehr, aber dann können Sie die Feldeigenschaft für Klasseninstanzen nicht festlegen (wegen der API Record
).
Wie sollen wir das umgehen, wenn wir eine optionale Eigenschaft haben wollen?
Typoskript Version: 2.2.1
Immutable.js Version: 4.0.0-rc-1