这里事件传参好像只能用bind?
来源:7-7 React 事件和 DOM 事件的区别
起点丶
2021-06-01
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
形式就没有问题了
写回答
2回答
-
双越
2021-06-01
哦,你是要在 jsx 中调用啊,而且函数还用到了 this 。那确实得用 bind
00 -
双越
2021-06-01
把相关代码贴出吧
把报错信息也贴一下,我先看看报啥错误?
012021-06-01
相似问题