xml地图|网站地图|网站标签 [设为首页] [加入收藏]

reactrefs使用教程

来源:http://www.ccidsi.com 作者:集成介绍 人气:172 发布时间:2019-12-17
摘要:React中的refs的接受教程,reactrefs使用教程 ref是React中的后生可畏种属性,当render函数再次来到有些组件的实例时,能够给render中的有个别虚构DOM节点加多一个ref属性,如上面包车型大巴

React中的refs的接受教程,reactrefs使用教程

ref是React中的后生可畏种属性,当render函数再次来到有些组件的实例时,能够给render中的有个别虚构DOM节点加多一个ref属性,如上面包车型大巴代码所示:

<body> 
  <script type="text/jsx"> 
    var App = React.createClass({ 
      render: function() { 
        return ( 
          <div> 
            <input type="text" placeholder="input something..." ref="input" /> 
          </div> 
        ); 
      } 
    }); 
    React.render( 
      <App />, 
      document.body 
    ); 
  </script> 
</body> 

在上头的代码中,render函数里只是再次来到了两个<div>标签,<div>里唯有三个<input>标签,在<input>标签的属性中,增添了二个ref属性,官方文书档案上对于ref属性的疏解如下:

ref 属性

React 辅助意气风发种非常非常的习性,你能够用来绑定到 render()输出的此外组件上去。那么些优越的属性允许你引用 render(卡塔尔再次来到的呼应的辅助实例( backing instance )。那样就可以确定保障在别的时刻总是得到科学的实例。

给<input>标签设置ref属性有如何用项呢?下边是法定文书档案给出的阐述:

在别的代码中(规范地事件管理代码),通过 this.refs 获取支撑实例( backing instance ),就如这么:this.refs.input。在那之中"input"正是上边给<input>标签设置的ref属性的值。

透过ref属性,咱们还足以获得该设想DOM对应的敦朴DOM节点,有三种方法能够获得真实DOM节点,如下代码所示:

<input type="text" ref="username" /> 
//下面4种方式都可以通过ref获取真实DOM节点 
var usernameDOM = this.refs.username.getDOMNode(); 
var usernameDOM = React.findDOMNode(this.refs.username); 
var usernameDOM = this.refs['username'].getDOMNode(); 
var usernameDOM = React.findDOMNode(this.refs['username']); 

上面通过二个demo来精通ref的使用:

demo在浏览器中运作的效应如下图:

图片 1

在最下边包车型大巴输入框中输入随机1-10的数字,就可以让下面十二个输入框中对应的输入框获取关节,如上海教室,输入3后,下边第一个输入框立时获得关节,这里就用到了ref属性,代码如下:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8"> 
  <title>Refs</title> 
  <script type="text/javascript" src="../react-0.13.0/build/react.js"></script> 
  <script type="text/javascript" src="../react-0.13.0/build/JSXTransformer.js"></script> 
</head> 
<body> 
  <script type="text/jsx"> 
    var App = React.createClass({ 
      handleChange: function(event) { 
        var index = event.target.value; 
        if(index >= 1 && index <= 10) { 
          //找到对应的输入框并将焦点设置到里面 
          var refName = "input"   index; 
          //var inputDOM = React.findDOMNode(this.refs[refName]); 
          var inputDOM = this.refs[refName].getDOMNode(); 
          inputDOM.focus(); 
        } 
      }, 
      render: function() { 
        var inputs = []; 
        for(var i = 1; i <= 10; i  ) { 
          inputs.push(<div><li><input type="text" ref={"input"   i}/></li><br/></div>); 
        } 
        return ( 
          <div> 
            <label htmlFor="input" >在这里输入下面任意输入框的索引,光标会自动定位到输入框内:</label> 
            <input type="text" id="input" onChange={this.handleChange} /> 
            <hr /> 
            <ol> 
              {inputs} 
            </ol> 
          </div> 
        ) 
      } 
    }); 
    React.render( 
      <App />, 
      document.body 
    ); 
  </script> 
</body> 
</html> 

在render函数中,为html文书档案的body部分增添了十二个输入框,种种输入框的ref属性都设置成了["index" 索引]的这种艺术,然后在最上面的输入框的handleChange函数中,获取输入的数字,并拿到ref属性的值,最终依据ref属性的值,找到呼应的赤诚DOM节点,然后让该DOM节点获取关节。

以上正是本文的全部内容,希望对我们的读书抱有利于,也冀望咱们多多支持帮客之家。

ref是React中的大器晚成种属性,当render函数重临有个别组件的实例时,能够给render中的有些设想DOM节点增多...

本文由68399皇家赌场发布于集成介绍,转载请注明出处:reactrefs使用教程

关键词: 68399皇家赌场

最火资讯