绑定事件的方式

react中有以下4种方式进行绑定事件,但是也会有对应的写法的限制。注意:使用的react版本是17.0.2可能写法和以前不太一样

import React,{Component} from "react";


export default class App extends Component{
    render(){
        var a=1;
        return(
            <div>
                <input type="text"></input>
                {/* 1 */}
                <button onClick={ ()=>{
                    console.log('click1');
                }}>add1</button>

                {/* 2 */}
                <button onClick={this.hanleClick2}>add2</button>
                {/* 3 */}
                <button onClick={this.hanleClick3}>add3</button>
                {/* 4 */}
                <button onClick={ ()=>{
                    this.hanleClick4()
                }}>add4</button>
            </div>
        )
    }
    hanleClick2(){
        console.log('click2');
    }
    hanleClick3=()=>{
        console.log('clcik3');
    }

   hanleClick4() {
        console.log('click4');
    }
}

第一种方法,绑定了一个箭头函数,我们都知道一般this的指向是 谁调用就指向谁,但是在箭头函数里面,this的指向是和最外层的this保持一致,在这里也就是 指向最外层的APP类。第一种写法如果逻辑处理不是很多的话,可以这样写

第二种方法,onClick绑定hanleClick2函数,注意这里不能加小括号, 在{ }里面代表的是js,如果加 ()就是函数执行,那么就会出现还没有点击按钮就会执行这个函数,而执行函数我们的结果是这个函数的返回值,就相当于 {undefined},这不是我们所希望看到的,我们的需求是点击按钮才执行函数,所以千万不要加小括号。

第三种写法,写法上和第二种很相似,只不过函数方式变成了箭头函数

第四种写法,比较推荐这种写法,箭头函数会等到点击按钮之后执行,然后自动执行函数

上一篇:Python访问OceanBase数据库方法


下一篇:linux安装python