React refs

作者: 元气满满321 | 来源:发表于2017-02-07 19:59 被阅读177次

在一些特殊情况下,直接操作组件实例的方法还是必要或者有利的。所以React提供了一个打破限制的办法,这就是refs。refs(reference,引用)在以下时候特别有用:当你需要直接操作一个被组件所渲染的DOM元素,或者在一个大型的非React应用中使用一个React组件,或者是把你已有的代码库在React中复用。


Use refs####

在这里,我主要是讲给大家怎么用React refs获取下面写博客页面里输入框的值。当点击Publish This Blog按钮后,可以获取到输入框的值,并在控制台显示。

写博客页面.png

第一步:建立组件###

建立组件BlogNewed.js,代码如下

import React, {Component} from 'react';

class BlogNewed extends Component {
  render() {
    return (
        <form className="row blog-newed">
          <input type="text" className="form-control blog-name"/>
          <textarea className="form-control" rows="10" cols="1>
          <input  type="text" className="form-control blog-tags"/>
          <button type="button" className=" btn-info" >
            Publish This Blog
          </button>
        </form>

    );
  }
}
export default BlogNewed;

第二步:添加点击事件###

给上述代码的提交按钮Publish This Blog添加点击事件
onClick={this.handleClick.bind(this)}

 <button type="button" className="btn-info" onClick={this.handleClick.bind(this)}>
   Publish This Blog
</button>

第三步:绑定ref###

给上述代码的每个输入框绑定ref属性


 <input ref="blogName" type="text" className="form-control blog-name"/>
 <textarea ref="blogContent" className="form-control" rows="10" cols="10"/>
 <input ref="blogTag" type="text" className="form-control blog-tags"/>

第四步:获取输入框的值###

import React, {Component} from 'react';

class BlogNewed extends Component {
  handleClick() {
    var blogName = this.refs.blogName.value.trim();
    var blogContent = this.refs.blogContent.value.trim();
    var blogTag = this.refs.blogTag.value.trim();
    console.log("博客标题 为:" + blogName);
    console.log("博客内容 为:" + blogContent);
    console.log("博客标签 为: " + blogTag);  
  }

注意到当 input 中 ref = "blogName" ,那么访问真正的组件实例时用this.refs.blogName;进一步用this.refs.blogName.value.trim() 获取输入框中去掉空格后的值。

如下图,在控制台显示:


输出.png

每天都努力一点
谢谢你看完


相关文章

  • Refs

    Refs提供了一种访问DOM节点或在render方法中创建的React元素的方法。 refs是React组件中非常...

  • 关于react中refs的使用

    在react中,可以使用refs来访问dom,或者在render中创建react对象。 使用refs的主要用途是 ...

  • React 'Refs'

    ref 有两种 ref 方式 ref = ''string" //string ref = {this.saveI...

  • React Refs

    终于看到最后一章了。你可以通过使用 this 来获取当前 React 组件,或使用 ref 来获取组件的引用,实例...

  • React refs

    在一些特殊情况下,直接操作组件实例的方法还是必要或者有利的。所以React提供了一个打破限制的办法,这就是refs...

  • React refs

    1.React.createRef() React.createRef可以给Dom元素添加ref。React.cr...

  • react refs

    以下内容摘自 React文档[https://zh-hans.reactjs.org/docs/refs-and-...

  • React - refs

    Refs 提供了一种方式,允许我们访问 DOM 节点或在 render 方法中创建的 React 元素。 方式一:...

  • React refs

    React 支持一种非常特殊的属性 Ref ,你可以用来绑定到 render() 输出的任何组件上。

  • 第五节:React组件:获取DOM元素或子组件实例对象的Refs

    1. 认识refs 1.1 refs说明 refs是React提供的一种访问DOM节点的方式 DOM节点上使用re...

网友评论

    本文标题:React refs

    本文链接:https://www.haomeiwen.com/subject/nnybpttx.html