React事件

1、驼峰形式 onClick

  2、调用 onClick={this.Fn}

      this指向问题

  3、解决this指向的问题

      1.箭头函数 onLog1 = () => {} 使用箭头函数改变this的指向

      2.constructor this.fn = this.fn.bind(this)

          onClick={this.Fn}

      3.调用时 使用箭头函数:onClick={() => { this.onLog2('text') }} 推荐使用此种方法

      4.调用时 使用bind函数:onClick={this.onLog3.bind(this, 'text')}

  4、给a标签添加一个事件

        阻止默认事件

        e.preventDefault()

  5、冒泡

        e.stopPropagation();

import React, { Component } from "react";

class View extends Component {

  constructor(props) {

    super(props);

    this.state = {

    }

    this.onLog = this.onLog.bind(this)

  }

  onLog() {

    // 普通函数

    console.log('首次打印')

    console.log(this)

  }

  onLog1 = () => {

    // 箭头函数

    console.log('再次打印')

    console.log(this)

  }

  onLog2(text) {

    console.log(text)

    console.log(this)

  }

  onLog3(text) {

    console.log(text)

    console.log(this)

  }

  // 阻止默认事件 e.preventDefault();

  onAtag(e) {

    e.preventDefault();

    console.log('这是a标签的事件');

  }

  // 阻止事件冒泡 e.stopPropagation();

  onDivAtag(e) {

    e.preventDefault();

    e.stopPropagation();

    console.log('这是div里面的a标签')

  }

  onDiv() {

    console.log('这是div标签')

  }

  render() {

    return (

      <div>

        <h3>事件</h3>

        普通事件:<input onClick={this.onLog} type="button" value="点我1" /><br />

        箭头事件:<input onClick={this.onLog1} type="button" value="点我2" /><br />

        调用时 使用箭头函数:<input onClick={() => { this.onLog2('text') }} type="button" value="点我3" /><br />

        调用时 使用bind函数:<input onClick={this.onLog3.bind(this, 'text')} type="button" value="点我3" /><br />

        给a标签添加一个事件:

        <a onClick={(e) => { this.onAtag(e) }} href="true">这是a标签</a><br />

        事件冒泡:

        <div onClick={() => { this.onDiv() }}>

          <a onClick={(e) => { this.onDivAtag(e) }} href="true">这是div里面的a标签</a>

        </div>

      </div>

    )

  }

}

export default View;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值