react防重复点击方法

React 防重复点击方法、原理

原理:在请求数据一旦开始,直到本次请求结束之前,不能进行下一次点击,否则给与相应的提示
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,
		})
	}
}

解析:

  1. 满足bool为true的情况,我们执行请求,如果发生多次点击的情况,方法开头设置的bool:false就会生效,防止在请求还没有完成的情况下进行下一次请求;
  2. 然后在请求完成之后,我们把Bool的状态变更多来,以便此次请求完成还可以进行下一次请求。
  3. 至于方法开头设置为false,请求还执行,是源于一个异步机制,在同一个方法中设置state又重新调用,state是来不及更新的,但是会在下一次调用该方法的时候执行。

猜你喜欢

转载自blog.csdn.net/baidu_41604826/article/details/83013113