reactjs - TypeScript-feil: Typen '() => boolean' kan ikke tildeles typen 'boolean'
Hvis arrayen user_list.length == 0, bør knappen "fjern bruker" være deaktivert. Når jeg kaller this.disabledButton-funksjonen, kaster den en feil som sier
Type '() => boolean' kan ikke tilordnes til type 'boolean'
Nedenfor er min logikk.
<section>
<Button
id='clear-user'
disabled={this.disabledButton}
onClick={this.onClearAllUserButton}>
{'Clear User List'}
</Button>
</section>
Funksjon definert:
private disabledButton= (): boolean => {
if (this.props.user_list.length == 0) {
return true
}
return false
}
Er mitt kall feil?
Svar #1
Du sender en funksjon som returnerer en boolean (type () => boolean) til en egenskap som forventer en boolean (type boolean). Du må bare faktisk kjøre funksjonen din.
disabled={this.disabledButton()}
Denne feilmeldingen forteller deg alt:
"Type '() => boolean' is not assignable to type 'boolean'"
() => boolean er funksjonen du prøver å tilordne, og boolean er typen den forventer. Det er opp til deg å legge merke til hva de to typene er og finne ut hvordan du kan få dem til å samsvare.
