如何在一个onClick处理程序

时间:2018-03-06 19:40:41

标签: javascript reactjs

我希望将另一个函数传递给已经传递onClick道具的子组件,以便在单击它时能够禁用它。我知道我应该将当前的onClick操作提取到一个单独的函数中,并在那里实现禁用操作,但是当我提取它时,我遇到了this.props.onClick(func PropType)正确执行的问题。有没有办法在不使用单独的函数的情况下解决它,或者我只是在提取它时不正确地调用this.props.onClick

以下是我正在使用的当前代码(未执行禁用操作)

render() {
    const b = block('btn').mix('btn').mix('action-button');

    return (
      <button
        onClick={this.props.onClick}
        className={b(this.props.className)}
        title={this.props.title}
      >
        {this.props.buttonText}
      </button>
    );
    }

1 个答案:

答案 0 :(得分:1)

我不确定我是否完全理解你的问题,但是在你的班级

上创建一个单独的方法会有所帮助
    handleClick () {
       this.props.onClick()
       otherOnClickFunc()
    }

并传递处理程序this.click()而不是this.props.onClick()