React中的ReactErrorUtils.invokeGuardedCallback在IE浏览器中反复触发事件

时间:2016-10-07 11:39:47

标签: javascript html reactjs highcharts

我正在使用我的应用程序中的高图。目前React面临一个奇怪的问题。我有一个菜单项,并在其点击事件上进行一些处理(假设将图表导出为图像)。因此,目前我观察到它在我的react组件中的任何setState操作上被触发。当我查看调用堆栈时,我发现ReactErrorUtils.invokeGuardedCallback一直在重复发送此事件。

是否有人遇到类似问题的反应组件,因为任何setState操作都会触发点击操作

1 个答案:

答案 0 :(得分:1)

已经有一段时间了但是当我使用附加了相同类型的eventListener的嵌套组件时,我总是遇到这样的问题。例如,带有onClick prop的外部组件和带有另一个onClick prop的内部元素。

如果单击内部事件,则事件会冒泡到外部,外部元素的onClick回调也会被调用。 在堆栈跟踪中,您现在看到它是由 invokeGuardedCallback

调用的。

阻止事件冒泡,请致电

event.stopPropagation();

在内部元素的回调函数中。

可能还有其他情况,ivokeGuardedCallback可以调用回调 - 以确保您始终可以阅读代码。