react常见不正常刷新问题

未有特别说明均为原创,转载注明出处。

组件A中引用组件B,组件B中某个标签写了onclick事件。

于是当你刷新组件A时,组件B不管有没有实际显示,已经被注册了,然后其中的onclick事件也被激活了。

问题:即不管组件B有没有显示,只要发生点击都会触发组件B中点击事件。

分析:了解JavaScript中事件冒泡和终止事件冒泡。

解决:不要直接给onclick事件后面写函数,

而是通过onClick= {this.onClick},在onClick里取消事件的默认动作。

onClick=(e)=>{
  e.preventDefault();
   //具体代码  
}

科普文:【preventDefault()、stopPropagation()、return false 之间的区别