React事件方法React定义方法的几种方式获取数据改变数据执行方法传值

Posted ywjfx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React事件方法React定义方法的几种方式获取数据改变数据执行方法传值相关的知识,希望对你有一定的参考价值。

1、案例实现代码如下

import React, { Component } from react;

/**
 * 特别注意this,对于传值和绑定都十分重要
 */
class Home4 extends Component{
    constructor(props){
        super(props);
        //定义数据
        this.state={
            msg:这是一个Home4组件,
            name:"杨杰"
        }
        this.getMessage = this.getMessage.bind(this);
    }

    run(){
        alert("这是一个run方法");
    }

    getData(){
        alert(this.state.msg);
    }

    //改变state值
    setData=()=>{

        this.setState({
            msg:"改变msg的值"
        })
    }
    getMessage(){
        alert(this.state.msg);
    }
    //箭头函数
    getName=()=>{
        alert(this.state.name);
    }
    setName=(str)=>{
        this.setState({
            name:str
        })
    }
    render() {
        return(
            <div>
                Home4 index 事件方法
                <br/>
                方法:{this.state.name}
                <br/>
                <button onClick={this.run}>执行方法,通过this.方法名</button>
                <br/>
                <p>方式1:通过this.方法名.bind(this)将this对象传递给getData()方法体内的this对象</p>
                <button onClick={this.getData.bind(this)}>执行方法1</button>
                <br/>
                <p>方式2:在构造函数,通过this.getMessage = this.getMessage.bind(this)这种方式赋值</p>
                <button onClick={this.getMessage}>执行方法2</button>
                <br/>
                <p>方式3:在构造函数,通过this.getMessage = this.getMessage.bind(this)这种方式赋值</p>
                <button onClick={this.getName}>执行方法3</button>

                <br/>
                <button onClick={this.setData}>改变state中的值</button>

                <br/>
                <button onClick={this.setName.bind(this,"zhangsan")}>执行方法传值</button>

            </div>
        )
    }
}
export default Home4;

 

以上是关于React事件方法React定义方法的几种方式获取数据改变数据执行方法传值的主要内容,如果未能解决你的问题,请参考以下文章

react系列-事件绑定的几种方法对比

React-事件绑定

React 手动实现 this 的绑定的几种方法

react的几种性能优化

react之传递数据的几种方式props传值路由传值状态提升reduxcontext

react组件传值的几种方式