TypeScript错误:类型'()=>布尔'不能分配给类型'布尔'

时间:2020-02-28 22:47:23

标签: reactjs typescript

如果user_list.length == 0的数组,则应禁用“清除用户”按钮。当我调用this.disabledButton函数时,它引发错误,提示“类型'()=>布尔值'不能分配给'布尔值'”。

下面是我的逻辑。

<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 个答案:

答案 0 :(得分:3)

您正在传递一个函数,该函数将布尔值返回到需要布尔值的属性。您只需要实际执行功能即可。

disabled={this.disabledButton()}

此错误消息告诉您一切:

"Type '() => boolean' is not assignable to type 'boolean'"

() => boolean是您要分配的函数,而boolean是期​​望的类型。您要注意这两种类型是什么,并弄清楚如何使它们匹配。