事件绑定的几种方式(React的事件绑定)

文章介绍了在React中处理按钮点击事件的三种方法,包括使用addEventListener、onclick属性以及在jsx中绑定事件处理函数。强调在React组件中,应当使用jsx的onClick属性结合箭头函数来确保this的正确指向。同时,指出了在jsx中书写事件处理函数的注意事项,如不用引号括起函数名,避免立即执行等。
摘要由CSDN通过智能技术生成

html:

<button id='btn1'>按钮1</button>
<button id='btn2'>按钮2</button>
<button onclick="demo()">按钮3</button>

js:

// 方法1:addEventListener()
const btn1 document.getElementById('btn1')
btn1.addEventListener('click',()=> {
    console.log('按钮1被点击了');
})

// 方法2:onclick()
const btn2 document.getElementById('btn2')
btn2.onclick=()=> {
    console.log('按钮2被点击了');
})

// 方法3
function demo() {
    console.log('按钮3被点击了');
}

React里通常使用第三种方法,但是需要注意以下几点:

<button οnclick="demo()">按钮3</button>

  1. 这里的onclick使用驼峰式,正确应为onClick;

  1. "demo()"表示字符串,所以不能带引号,正确应为花括号{};

  1. {demo()}表示赋值,将demo的结果赋过来,所以页面加载的时候就会执行该方法,直接输出结果,所以要去掉小括号,正确应为{demo},只有在点击的时候才回调该方法;

  1. function demo() {...}应写为箭头函数,否则方法内的this指向会丢失,在使用this时会报undefined错误,因为类中的方法默认开启了局部严格模式。

总结:

React里用类创建组件时,组件里的自定义方法都要写成赋值语句+箭头函数的形式

方法调用时正确的写法为:

...
<button onClick={this.demo}>按钮3</button>
...

demo = ()=> {
    console.log('按钮3被点击了');
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值