Javascript 如何将事件冒泡到最顶级的父级反应样式?
我有一套组件Javascript 如何将事件冒泡到最顶级的父级反应样式?,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我有一套组件app->page->list\u container->list->item 我的目标是通知应用程序在项目级别上发生了单击。 如果存在类似于父->子-的简单关系,我可以使用props并执行类似于:…的操作,然后使用this.props.onClick()进行回调。 但是,对于使用组件树执行相同的操作,最好的原生React样式收据是什么?如何通知应用程序,即单击了项,而没有调用Flux/Reflux、Elm和其他支持的LIB?标准反应方式: 传递onClick函数作为组件树的支撑是执
app->page->list\u container->list->item
我的目标是通知应用程序
在项目
级别上发生了单击。
如果存在类似于父->子-
的简单关系,我可以使用props并执行类似于:…
的操作,然后使用this.props.onClick()
进行回调。但是,对于使用组件树执行相同的操作,最好的原生React样式收据是什么?如何通知
应用程序
,即单击了项
,而没有调用Flux/Reflux、Elm和其他支持的LIB?标准反应方式:传递
onClick
函数作为组件树的支撑是执行此操作的标准方法
在
中:
<list_container onClick={this.props.onClick}>
在
组件中,为该项提供一个(唯一的)id
我一般不建议这样做:
- 在典型的反应树设置中,较低级别的组件(如
)可能会被多次渲染,然后您需要 确保每个ID唯一的附加逻辑李> - 你也会 需要添加一些额外的smarts,以确保在以下情况下删除侦听器: 将从DOM中删除有问题的项
<list_container onClick={this.props.onClick}>
<list_container {...this.props}>
componentDidMount: function() {
var itemElementInDOM = document.getElementById('myItem');
itemElementInDOM.addEventListener('click',this._onClick);
}