未有特别说明均为原创,转载注明出处。
组件A中引用组件B,组件B中某个标签写了onclick事件。
于是当你刷新组件A时,组件B不管有没有实际显示,已经被注册了,然后其中的onclick事件也被激活了。
问题:即不管组件B有没有显示,只要发生点击都会触发组件B中点击事件。
分析:了解JavaScript中事件冒泡和终止事件冒泡。
解决:不要直接给onclick事件后面写函数,
而是通过onClick= {this.onClick},在onClick里取消事件的默认动作。
onClick=(e)=>{ e.preventDefault(); //具体代码 }
科普文:【preventDefault()、stopPropagation()、return false 之间的区别】