react事件

//总组件!!!!!!!,这里引入其他组件的
/*组件名应该和文件名一样 */
const App=()=>{




    const onClickHandler=(event)=>{
        event.preventDefault();//取消默认行为
        event.stopPropagation();//取消事件的冒泡传递
        alert("我是防止网站跳转的")
    };

    return <div 
    onClick={()=>{
        alert("我是父亲事件");
    }
    }
    style={{width:200,height:200,margin:"100px auto",background:"red"}}>
        {
            /**
             * 在react中,事件需要通过元素的属性来设置,
             * 和原生的js不同,react里面的事件需要使用驼峰命名法
             * 
             * 属性值不能直接执行代码,必须需要一个回调函数
             * onClick={()=>{alter(123)}}
             * 
             * 
             */
        }
        <button onClick={()=>{alert(123);}}>点我一下</button>
        <botton onClick={onClickHandler}>哈哈哈</botton>
        {
            /**
             * onClickHandler加不加括号???
             * 一般情况下是不能加的,加了括号就直接变成了创建的时候调用这个函数,
             * 相当于把这个函数的返回值设置给了这个东西
             * 
             * 不加括号就代表这个函数是事件的响应函数
             * 那么什么时候可以加括号了??????
             * 我们onClickHandler函数的返回值是一个函数的时候我们就可以加括号
             * 
             * 在react无法通过函数return false来取消默认行为,比如说网站的跳转
             * 那怎么取消默认行为:使用事件对象
             * react事件中同样会传递事件对象,可以在响应函数中定义参数来接收事件对象
             * react中的事件对象同样不是原生的事件对象,是经过react包装过后的事件对象
             * 由于对象进行过包装,所以使用过程中,我们无需再去考虑兼容性问题!!!!!!!!
             * 
             * 
             * 
             冒泡怎么解决呢??什么是冒泡,就是点击子元素的时候,父元素也会触发!!!!!!时间的向上传播
             */
        }
        <a href="www.baidu.com" onClick={onClickHandler}>超链接</a>
    </div>
};  

//导出组件
export default App;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值