これは基本的なコンポーネントです。 <ul>
と<li>
には両方ともonClick機能があります。 <ul>
ではなく、<li>
のonClickだけを起動します。どうすればこれを達成できますか?クリックするとネストされたコンポーネントのイベントバブリングが防止されます
私はe.preventDefault()、e.stopPropagation()を使って遊んだことがありません。
class List extends React.Component {
constructor(props) {
super(props);
}
handleClick() {
// do something
}
render() {
return (
<ul
onClick={(e) => {
console.log('parent');
this.handleClick();
}}
>
<li
onClick={(e) => {
console.log('child');
// prevent default? prevent propagation?
this.handleClick();
}}
>
</li>
</ul>
)
}
}
// => parent
// => child
私は同じ質問、https://stackoverflow.com/questions/44711549/how-to-prevent-react-component-click-event-bubble-to-document –