reactjs - TypeScript ข้อผิดพลาด: ประเภท '() => boolean' ไม่สามารถกำหนดค่าให้กับประเภท 'boolean'
หากอาร์เรย์ของ user_list.length == 0 ปุ่ม "ล้างผู้ใช้" ควรถูกปิดการใช้งาน เมื่อฉันเรียกฟังก์ชัน this.disabledButton มันจะเกิดข้อผิดพลาดบอกว่า
ประเภท '() => boolean' ไม่สามารถกำหนดค่าให้กับประเภท 'boolean' ได้
ด้านล่างนี้คือตรรกะของฉัน
<section>
<Button
id='clear-user'
disabled={this.disabledButton}
onClick={this.onClearAllUserButton}>
{'Clear User List'}
</Button>
</section>
ฟังก์ชันที่กำหนด:
private disabledButton= (): boolean => {
if (this.props.user_list.length == 0) {
return true
}
return false
}
การเรียกของฉันผิดหรือ?
คำตอบ #1
คุณกำลังส่งฟังก์ชันที่ส่งค่ากลับเป็นบูลีน (ประเภท () => boolean) ไปยังคุณสมบัติที่คาดหวังค่าบูลีน (ประเภท boolean) คุณเพียงแค่ต้องเรียกใช้ฟังก์ชันของคุณจริงๆ
disabled={this.disabledButton()}
ข้อความแสดงข้อผิดพลาดนี้บอกคุณทุกอย่าง:
"Type '() => boolean' is not assignable to type 'boolean'"
() => boolean คือฟังก์ชันที่คุณพยายามจะกำหนดค่า และ boolean คือประเภทที่คาดหวัง มันขึ้นอยู่กับคุณที่จะสังเกตว่าทั้งสองประเภทนี้คืออะไรและหาวิธีทำให้พวกมันตรงกัน
