Javascript 在React Redux中,如何仅单击父组件,而不单击子组件?

Javascript 在React Redux中,如何仅单击父组件,而不单击子组件?,javascript,reactjs,dom,react-redux,dom-events,Javascript,Reactjs,Dom,React Redux,Dom Events,我要通过点击发送一个动作 导出默认函数示例(){ const dispatch=usedpatch() 函数调度(){ 派遣(行动) } 返回( ) } 我希望在单击子对象时不会发生任何事情。 但我想,由于气泡的存在,很难解决这个问题。 我不认为它与e.stopPropagation()有关,因为当我想单击子对象而不是父对象时,它很有用。情况正好相反。如果我感到困惑的话,我已经试了好几天了,但它并没有像预期的那样起作用。请帮帮我,谢谢。删除onClick中的空格 export defau

我要通过点击发送一个动作


导出默认函数示例(){
const dispatch=usedpatch()
函数调度(){
派遣(行动)
}
返回(
)
}

我希望在单击子对象时不会发生任何事情。 但我想,由于气泡的存在,很难解决这个问题。
我不认为它与e.stopPropagation()有关,因为当我想单击子对象而不是父对象时,它很有用。情况正好相反。如果我感到困惑的话,我已经试了好几天了,但它并没有像预期的那样起作用。请帮帮我,谢谢。

删除onClick中的空格


export default function Example() {

  const dispatch = useDispatch()
  
  function dispatching() {
    dispatch(action)
  }

  return (
    <Parent onClick={dispatching}>
      <Child />
    </Parent>
  )

}

导出默认函数示例(){
const dispatch=usedpatch()
函数调度(){
派遣(行动)
}
返回(
)
}

您希望捕获事件-这意味着它进入父级->子级,而不是冒泡事件,这意味着它进入子级->父级(默认行为)。当您捕获事件时,执行相同的StopRopAgation,它将不会到达孩子。虽然确实更干净,但如果您有空间,它实际上会工作,并且也不是问题的答案。

export default function Example() {

  const dispatch = useDispatch()
  
  function dispatching() {
    dispatch(action)
  }

  return (
    <Parent onClick={dispatching}>
      <Child />
    </Parent>
  )

}