React的三种用法

import React, { Component } from "react"
export default class MyInput extends Component {

    // 第一种
    getvalue11= () => {
        let hah = this.refs.zhi.value
        console.log("第1种", hah)
    }

    // 第2种 ref的使用
   getvalue=()=>{
       console.log(this.input1.value)
   }

    Valuerefs = React.createRef();//创建一个承装ref的容器  这个容器是专门的  只能保存一个ref  Myrefs一致
    getvalue22=()=>{
        let pwd = this.Valuerefs.current
        console.log("第三种", pwd.value)
    }

    render() {
        return (
            <div>

                {/* 第一种 */}
                <input type="text" ref="zhi"></input>
                <button onClick={this.getvalue11}>按钮</button>    

                {/* 第二种  this.input1的实例是input*/}
                <input type="text" ref={(input)=>{this.input1=input}}></input>
                <button onBlur={this.getvalue}>按钮</button>

                 {/* 第三种 */}
                <input type="text" ref={this.Valuerefs}></input>
                <button onClick={this.getvalue22}>按钮</button>

            </div>
        )
    }
}

原文地址:https://www.cnblogs.com/IwishIcould/p/11619473.html

时间: 2024-10-18 06:43:07

React的三种用法的相关文章

指针与引用的区别以及引用的三种用法

1.指针与引用的区别: 指针是一块内存的地址值,而引用是一块内存的别名. 下面引自:http://www.cnblogs.com/kingln/articles/1129114.html 从概念上讲.指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变. 而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一

java中 this 的三种用法

Java中this的三种用法 调用属性 (1)this可以调用本类中的任何成员变量 调用方法(可省略) (2)this调用本类中的成员方法(在main方法里面没有办法通过this调用) 调用构造方法 (3)this调用构造方法只能在本构造方法中调用另一个构造方法(4)this 调用构造方法必须写在第一行 eg: 1 public class ThisDemo { 2 private int id; 3 private String name; 4 public ThisDemo(){ //(1)

c# new的三种用法

在 C# 中,new 关键字可用作运算符.修饰符或约束. 1)new 运算符:用于创建对象和调用构造函数.这种大家都比较熟悉,没什么好说的了. 2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员. 3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型. 东西不用就会忘c# new的三种用法,布布扣,bubuko.com

SQL、LINQ、Lambda 三种用法(转)

SQL.LINQ.Lambda 三种用法 颜色注释: SQL LinqToSql Lambda QA 1. 查询Student表中的所有记录的Sname.Ssex和Class列. select sname,ssex,class from student Linq: from s in Students select new { s.SNAME, s.SSEX, s.CLASS } Lambda: Students.Select( s => new { SNAME = s.SNAME,SSEX =

SQL、LINQ、Lambda 三种用法互换

SQL.LINQ.Lambda 三种用法颜色注释: SQL LinqToSql Lambda QA1. 查询Student表中的所有记录的Sname.Ssex和Class列.select sname,ssex,class from studentLinq: from s in Students select new { s.SNAME, s.SSEX, s.CLASS }Lambda: Students.Select( s => new { SNAME = s.SNAME,SSEX = s.SS

.NET(c#)new关键字的三种用法

前几天去家公司面试,有一道这样的题:写出c#中new关键字的三种用法,思前想后挖空心思也只想出了两种用法,回来查了下msdn,还真是有第三种用法:用于在泛型声明中约束可能用作类型参数的参数的类型,这是在Framework 2.0 中定义泛行时才会使用到的,自己对c# 2.0 中的支持还只是粗通皮毛,怪不得累死so many脑细胞也没能想不出这第三种来! 三种用法如下: 在 C# 中,new 关键字可用作运算符.修饰符或约束. 1)new 运算符:用于创建对象和调用构造函数.这种大家都比较熟悉,没

this和super关键字的常见三种用法

super和this的含义 super :代表父类的存储空间标识(可以理解为父亲的引用). this :代表当前对象的引用(谁调用就代表谁). super关键字的三种用法: 在子类的成员方法中,访问父类的成员变量格式:super.成员变量名: 在子类的成员方法中,访问父类的成员方法格式:super.方法变量名: 在子类的构造方法中,访问父类的构造方法格式:super(): this关键字的三种用法: 在本类成员方法中,访问本类的成员变量格式:this.变量名 在本类成员方法中,访问本类的另一个成

闭包最常用的三种用法

闭包的三种经典用法: 1. 通过在函数中创建函数,并返回来延迟作用域链的存在时间(掌握执行环境/作用域链/this/活动对象/arguments/全局对象概念的理解) 2. 模仿块级作用域 (javascript不存在块级作用域) for(var i=0;i<10;i++){ alert(i); } alert(i);  //10 function outputNumbers(count){ (function(){ for(var i=0;i<count;i++){ } })(); aler

splice()完整语义和三种用法

splice: splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素. 如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组. 注释:该方法会改变原始数组. arrayObject.splice(index,howmany,item1,.....,itemX):index:必需.要删除或者添加元素的起始位置,若为负数则从结尾位置开始:howmany:必需.要删除元素的数量,若为0,则不需要删除:it