请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

这里事件传参好像只能用bind?

this.addWithParams(2, 3)

这样传参会报错,是不是只能用 bind 来传参

  • 报错内容

图片描述

  • 如果把 this.setState() 去掉后,没有报错,但是刷新页面直接输出了,好像是直接就调用了方法,没有点击
  // 组件传参,需要用到 event 对象,在最后传入即可
  addWithParams = (num1, num2, event) => {
    // this.setState({
    //   num: num1 + num2,
    // })
    console.log(num1, num2,event)
  }
render() {
    const btnElem = (
      <button onClick={this.addWithParams(2, 3)}>add</button>
    )
    return (
      <div>
        <p>{this.state.num}</p>
        {btnElem}
      </div>
    )
  }

图片描述

  • 刷新页面直接输出了,并没有点击
  • 改成 bind 形式就没有问题了

正在回答 回答被采纳积分+3

2回答

双越 2021-06-01 21:48:20

哦,你是要在  jsx 中调用啊,而且函数还用到了 this 。那确实得用 bind

0 回复 有任何疑惑可以回复我~
双越 2021-06-01 18:25:33
  1. 把相关代码贴出吧

  2. 把报错信息也贴一下,我先看看报啥错误?

0 回复 有任何疑惑可以回复我~
  • 提问者 起点丶 #1
    我重新编辑了问题传了图片和代码了
    回复 有任何疑惑可以回复我~ 2021-06-01 18:53:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信