如何防止单击子级时父级的 onClick 关闭?

Spi*_*kee 3 javascript ecmascript-6 reactjs

我有这个组件代码:

const myCardItem = ({ item }) => {

    function clickItem(){
        alert('Item clicked');
    }

    function clickMe(){
        alert('Button clicked');
    }

    return (
        <div className="myCardItem" onClick={clickItem}>
            <i className="fa fa-clock-o"/>&nbsp;{item.planDate}
            <br />
            <i className="fa fa-location-arrow"/>&nbsp;{item.destination}
            <br />
            <Button bsStyle="primary" onClick={clickMe}>Click Me</Button>
        </div>
    );
}
Run Code Online (Sandbox Code Playgroud)

如果我点击按钮我首先得到:

在此输入图像描述

其次是:

在此输入图像描述

这是有道理的,因为该按钮是 myCardItem 下的子按钮。但这不是我想要的。单击myCardItem将加载新视图,而单击按钮将打开模式对话框。两者都消失会破坏页面。

如何防止父级点击被调用?

clickMe()这并不像在...中返回 false 那么容易

sim*_*lor 6

使用event.stopPropagation()event.stopImmediatePropagation()这些停止事件冒泡并结束调用它的事件冒泡。

  • 使用 OP 代码的修订版本来展示您的解决方案是一种方法。 (2认同)