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;

原文地址:https://www.cnblogs.com/ywjfx/p/10421611.html

时间: 2024-07-30 23:55:48

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

JavaScript学习12 JS中定义对象的几种方式【转】

avaScript学习12 JS中定义对象的几种方式 转自:  http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工厂方式 3.构造函数方式 4.原型("prototype")方式 5.动态原型方式 一.基于已有对象扩充其属性和方法 <script type="text/javascript

(六)javascriptJS中定义对象的几种方式(转)

JavaScript学习12 JS中定义对象的几种方式 转自:  http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工厂方式 3.构造函数方式 4.原型("prototype")方式 5.动态原型方式 一.基于已有对象扩充其属性和方法 <script type="text/javascrip

JavaScript学习12 JS中定义对象的几种方式

JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工厂方式 3.构造函数方式 4.原型("prototype")方式 5.动态原型方式 一.基于已有对象扩充其属性和方法 <script type="text/javascript"> var object = new Object(); object.name

定义字符串的两种方式

定义字符串的两种方式 数组定义 char name[] = "answer" 指针定义 char *name = "answer" 比较 字符串里的字符可以修改,而字符串是一个常量,字符串里面的字符不能修改. >Tips:可以与我的另外一篇文章一起看.http://blog.csdn.net/u011192270/article/details/46475981 版权声明:本文为博主原创文章,未经博主允许不得转载.

JavaScript定义数组的三种方式(new Array(),new Array(&#39;x&#39;,&#39;y&#39;),[&#39;x&#39;,&#39;y&#39;])

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

PHP定义字符串的四种方式

1.简介 在PHP中这门语言中,因为是弱类型语言,因此使用变量时不需提前定义即可使用. 我们在使用php进行开发的时候,大多数使用双引号.单引号进行定义字符串.既然有这两种方式,那么他们之间肯定是有区别的. 并且,除了单双引号定义字符串这两种方式外,php还增加了heredoc和nowdoc这两种语法糖进行补充. 2.单引号与双引号 2.1.单引号 在单引号中,任何特殊字符都会按原样输出[除\\.\‘将会被转义输出] eg. 1 <?php 2 $var = 'this is a var!';

第七章、函数基础之定义函数的三种方式03

目录 第七章.函数基础之定义函数的三种方式03 一.无参函数 二.有参函数 三.空函数 第七章.函数基础之定义函数的三种方式03 一.无参函数 定义函数时参数是函数体接收外部传值的一种媒介 在函数阶段括号没有参数就是无参函数.调用时不需要传入实参 如果函数体代码逻辑不需要依赖外部传入值,必须定义成无参函数 def func(): print('hello nick') func() # hello nick 二.有参函数 在函数阶段括号有参数就是有参函数.调用时需要传入实参 如果函数体代码逻辑需

vue 定义方法执行方法 获取数据 改变数据 执行方法传值 以及事件对象

1 <template> 2 3 4 <div id="app"> 5 6 <!-- 7 <img v-bind:src='url' /> 8 9 <img :src='url' /> --> 10 11 {{msg}} 12 <br> 13 <br> 14 <br> 15 16 17 <button v-on:click="run1()">执行方法的第一种写

react中img引入本地图片的2种方式

前言 以前我们用img引入图片只需要如下即可 但在react中不允许使用这种方式,会报错,下面我简单总结了2种方式 方式一:通过!important引入(推荐) 然后在img中直接引入变量即可,这个变量名字可任意取 方式二:require方法引入 require中只能写字符串,不能写变量 注:一般推荐使用!important引入图片,具体原因截图某网友的回复,   下面截图有一个错别字和多写了一个字,小于写成了小与,编译前面多写了一个变 原文地址:https://www.cnblogs.com/

Collections.sort方法对list排序的两种方式

Collections.sort( )分为两部分,一部分为排序规则,一部分为排序算法 . 规则用来判断对象,算法则考虑如何进行排序 对于自定义对象,sort()不知道规则,所以无法比较,这种情况下一定要定义排序规则.方式有两种: 第一种,java.lang下面的一个接口:Comparable.可以让自定义对象实现一个Comparable接口,这个接口只有一个方法comparableTo(Object o) 其规则是当前对象与o对象进行比较,返回一个int值,系统根据此值进行排序. 如当前对象>o