阻止子组件触发父组件波纹

Cat*_*eca 1 javascript css dom-events reactjs material-ui

假设我有一个简单的代码,例如:


<ListItem
  button={true}
>
  <Typography variant='caption' color='primary'>
            {value}
  </Typography>
  <Button
    onClick={foo}
  >
    Button
  </Button>
</ListItem>
Run Code Online (Sandbox Code Playgroud)

当我单击 ListItem 内的任何内容时,会触发连锁反应,这是可以的,但是当我单击按钮时,我不希望触发父组件的连锁反应。我怎么做?

小智 5

在按钮的点击处理程序中使用 event.stopPropagation() 。在你的情况下,在 foo() 函数内部

  • 这是我最终找到的解决方案,但并非如此。我必须使用 OnMouseDown 属性并停止传播。 (4认同)