美文网首页
React自定义组件绑定onClick无反应问题

React自定义组件绑定onClick无反应问题

作者: AC编程 | 来源:发表于2018-11-29 10:42 被阅读278次

一、问题描述

点击事件

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

参考:https://segmentfault.com/q/1010000011127443

相关文章

网友评论

      本文标题:React自定义组件绑定onClick无反应问题

      本文链接:https://www.haomeiwen.com/subject/qbyxcqtx.html