一、问题描述
点击事件
useCoupon=()=>{
console.log("useCoupon........")
};
DOM结构:
<div className="select-wrapper-inner">
{
return (<SingleCoupon onClick={this.useCoupon} />)
}
</div>
SingleCoupon是自定义的一个组件,现在绑定的这个点击事件不会被触发,为什么?
一、解决
SingleCoupon是你定义的组件,并不是一个真实的DOM元素,它不存在点击事件,因为它不是最终渲染的页面的元素。应该这样用
class SingleCoupon extends Component {
render() {
return (
<div onClick={this.props.onClick}/>
)
}
}
所有的事件处理函数都必须要绑定到真实的DOM上。传给组件,组件只会认为它是个prop
网友评论