Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在react组件中处理事件捕获?_Javascript_Html_Reactjs - Fatal编程技术网

Javascript 如何在react组件中处理事件捕获?

Javascript 如何在react组件中处理事件捕获?,javascript,html,reactjs,Javascript,Html,Reactjs,请先阅读代码 经过css处理后,它看起来像是备忘录应用程序的一张备忘录纸 该组件的目标是在单击时打印1(实际上,目标是显示redux存储的状态) 当我在div组件外部单击时,它工作得非常好。(上面印着“1”) 但当我单击内部div组件(标题、日期、内容)时,onClick事件也在继续(它打印了“”) 如何防止无值打印 我的代码: 类容器扩展组件{ handleState=(事件)=>{ console.log(event.target.id) } render(){ 返回( 标题 日期 所容纳之

请先阅读代码

经过css处理后,它看起来像是备忘录应用程序的一张备忘录纸

该组件的目标是在单击时打印1(实际上,目标是显示redux存储的状态)

当我在div组件外部单击时,它工作得非常好。(上面印着“1”) 但当我单击内部div组件(标题、日期、内容)时,onClick事件也在继续(它打印了“”) 如何防止无值打印

我的代码:
类容器扩展组件{
handleState=(事件)=>{
console.log(event.target.id)
}
render(){
返回(
标题
日期
所容纳之物
)
}
}
container.defaultprops={
价值:1
}

谢谢。

您可以使用
currentTarget
检查它是否是
目标,因为您已将处理程序绑定到父级,例如

 handleState = (event) = > {
     if (event.target == event.currentTarget) {
         console.log(event.target.id)
     }
 }

您可以使用
currentTarget
检查它是否是
target
,因为您将处理程序绑定到父级,例如

 handleState = (event) = > {
     if (event.target == event.currentTarget) {
         console.log(event.target.id)
     }
 }

您可以使用currentTarget:

handleState = (event) => {
  console.log(event.currentTarget.id)
}
关于target和currentTarget之间的差异:

您可以使用currentTarget:

handleState = (event) => {
  console.log(event.currentTarget.id)
}
关于target和currentTarget之间的差异:

检查
if(event.target.id)
然后执行操作??是。它运行良好(打印“1”)。问题是,当我单击内部div部分(标题、日期、内容部分)时,onclick事件也会继续,并且没有值。所以它打印了“”。我想在div的任何部分打印相同的值。检查
if(event.target.id)
,然后执行您的操作??是。它运行良好(打印“1”)。问题是,当我单击内部div部分(标题、日期、内容部分)时,onclick事件也会继续,并且没有值。所以它打印了“”。我想在div的任何部分打印相同的值。太棒了!我不知道它的存在:)太棒了!我不知道它的存在:)