美文网首页
了解React中的refs

了解React中的refs

作者: 春木橙云 | 来源:发表于2017-08-31 18:07 被阅读105次
鎏金哇开呀酷烈——神龙啊吞噬我的敌人吧

refs这部分是在做公司一个小组件(视频弹框蒙层)时候遇到的,是react进阶部分内容,学习内容与心得整理如下,欢迎指正!

为什么要使用refs

在正常的 react 数据流中,props 是父组件与子元素交互的唯一渠道。如果想要修改子元素,你需要通过一个新的 props 进行重新渲染。但是,在一些情境下,你需要在正常数据流外强行修改子元素,这时,你就需要用到 refs。修改的子元素可以是react组件的实例,也可以是DOM元素

有点生涩?那我来举例子:

<VideoPlay url="www.hclzx.com" />
<button>pause</button>

class VideoPlay extends React.Component{
    render(){
        <video src={this.props.url}>我是视频</video>
    }
}

如上面的代码,组件 VideoPlay中是视频的URL,它与其子元素 video 之间沟通仅依靠 props ,如果我想修改子元素 video 的URL链接,只能通过修改组件 VideoPlay中的 url 属性来进行。然而,此时需求是当我点击按钮的时候,需要对视频进行暂停。这个暂停的动作不可能通过更改 props 然后重新渲染页面来实现。这时我就需要在子元素 video 中加入一个属性 ref 来进行强制修改。react将这个 refs 叫做 紧急舱口

什么时候使用refs

  • 管理焦点、文本选择或媒体回放。

  • 触发命令动画。

  • 与第三方DOM库集成。

  • tip:

    1. 不要滥用。在使用 refs 时,首先应该清使用它是为了让某种功能在你的APP中得到实现。你需要想清楚在哪里私有化 state。经验来看,最合适的地方是在层级的更高层。(这里有疑问,先放在这里)
    2. 避免干扰。在使用 refs 时,应该避免使用保留字或者已经被使用的API字段;

用法(加班,未完待续。。。)

1. 为DOM元素增加 refs

2. 为组件 (Component) 增加 refs

以下所有的内容均参考自 react_Refs and the DOM

鎏金哇开呀酷烈——神龙啊吞噬我的敌人吧

相关文章

  • 了解React中的refs

    refs这部分是在做公司一个小组件(视频弹框蒙层)时候遇到的,是react进阶部分内容,学习内容与心得整理如下,欢...

  • 关于react中refs的使用

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

  • Refs

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

  • React入门教程(8)Refs & DOM高级

    Refs & DOM Refs 提供了一种方式,用于访问在 render 方法中创建的 DOM 节点或 React...

  • React中Refs的使用方法

    欢迎访问主页,有更多文章内容转载请注明原出处原文链接地址:React中Refs的使用方法 什么是Refs Refs...

  • refs是什么,如何使用,需要注意什么

    Refs是什么? Refs 提供了一种方式,允许我们访问 DOM 节点或在 render 方法中创建的 React...

  • React高级指引(2)

    Refs & DOM Refs提供了一种方式,用于访问在render方法中创建的DOM节点或React元素创建Re...

  • 获取Textarea中光标位置

    参数 element 是 react 中的 t.refs.xxx 获取到的节点对象。

  • React中的Refs & DOM

    在React数据流中,父子组件唯一的交流方式是通过props属性;如果要修改子组件,通过修改父组件的属性,更新达到...

  • React 中的 Refs(9)

    Refs 允许我们访问真实 DOM 一般的,React 数据流是通过 props 来实现父子组件的交互 Refs ...

网友评论

      本文标题:了解React中的refs

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