React按钮连击控制

本文介绍了如何在React中防止按钮连续点击,通过设置state中的loading标志位来控制按钮的可用性。在点击事件中,只有当loading为false时才执行业务代码,并在开始执行后将loading设为true。执行结束后再将loading设回false,从而避免多次触发。同时,分析了由于渲染速度导致的遮罩控制问题。
摘要由CSDN通过智能技术生成

React按钮连击控制

原创,转载请注明出处。
作者:李宏远

实现思路

1、在state中初始化loading标志为false
2、点击事件中添加!this.state.loading判断
3、修改loading状态为true
4、业务执行,成功后、或失败后,回调中修改loading状态为false

关键说明

1、遮罩无法控制,在于点击太快,遮罩还未渲染出来
2、控制关键在于!this.state.loading判断在setState之前,第二次点击时,loading已被修改为true,而遮罩渲染可能还未渲染

state部分

// state状态
this.state = {
   
	loading: false
}

按钮事件

tj 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值