容器中的元素未触发 Reactjs 事件处理程序,以防止事件冒泡

Reactjs event handler not triggered for element in a container which prevent event bubbling

我正在使用与地图库的反应,我使用反应来渲染地图库提供的容器中的元素。

问题是容器阻止了事件冒泡,我检查了 reactjs 源代码,发现事件发射器监听 html 文档并依赖于事件冒泡来调度事件。

如何使 onClick 处理程序工作?我目前手动添加 EventListener,但不认为这是一种优雅的方式。

<body>
  <container preventBubbling>
    <ReactElement onClick={this.handleClick}/>
  </container>
</body>

正如您所说,React 依赖于事件冒泡,而不是将事件处理程序直接附加到您想要事件的任何 DOM 节点。这是 React 不可或缺的一部分,如果不在 componentDidMount 中手动附加事件处理程序,就无法避免。并在 componentWillUnmount.

中手动删除它们

取消地图库冒泡是什么原因?我会尝试删除该取消,看看它是否有效。