zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    C#串口通信程序实现无感知签到与答题
    C# 调用adb command 读取手机型号和IMEI
    sql 截取字符串
    .NET下的ORM框架有哪些
    linq-to-sql实现left join,group by,count
    C# 生成二维码
    数据库面试题.net
    .net面试中的一些常见问题与答案
    Jquery判断其中任意一个文本框的值是否被修改
    矩阵乘法的MPI并行计算
  • 原文地址:https://www.cnblogs.com/ywjfx/p/10421611.html
Copyright © 2011-2022 走看看