javascript - Typescript sterkt typer void-funksjon
Jeg prøver å skrive et grensesnitt som tar en funksjon som en parameter:
Akkurat nå prøver jeg dette
export interface EditOptions {
isEditing: boolean;
save: () => {};
}
Jeg har prøvd noen ting for å tilordne funksjonen:
editOptions: EditOptions = { isEditing: false, save: this.save };
editOptions: EditOptions = { isEditing: false, save: () => { this.save() } };
Ingen fungerer, i stedet får jeg denne feilen:
Jeg vet at jeg foreløpig kan bruke :any, men hva er den riktige måten å sterkt typisere en void-funksjon på
Svar #1
Skjult for dokumentene finnes VoidFunction:
interface Example {
save: VoidFunction;
}
const example: Example = {save: () => { this.saveForReal(); } };
Svar #2
grensesnittet du kan definere som :
export interface EditOptions {
isEditing: boolean;
save: () => void;
}
og du kan bruke/tilordne det som :
editOptions: EditOptions = { isEditing: false, save: () => { this.anyFunction() } };
