防止重复点击的思路:
在请求数据一旦开始,直到本次请求结束之前,不能进行下一次点击,否则给与相应的提示。
具体方法:
state中的初始设置:
state={ bool:true, }
点击事件设置:
btn_click = async () => { this.setState({ bool: false, }) . . . if(this.state.bool){ const value = await fetch.bbb({}) if (value.code == 1) { } else { } this.setState({ bool: true, }) } }
解析:
满足bool为true的情况,我们执行请求,如果发生多次点击的情况,方法开头设置的bool:false就会生效,防止在请求还没有完成的情况下进行下一次请求;
然后在请求完成之后,我们把Bool的状态变更多来,以便此次请求完成还可以进行下一次请求。
至于方法开头设置为false,请求还执行,是源于一个异步机制,在同一个方法中设置state又重新调用,state是来不及更新的,但是会在下一次调用该方法的时候执行。
相关推荐:react视频教程
以上是react怎么避免重复点击的详细内容。更多信息请关注PHP中文网其他相关文章!