美文网首页React
react学习-8.获取真实DOM节点

react学习-8.获取真实DOM节点

作者: YINdevelop | 来源:发表于2018-05-02 16:48 被阅读581次

React中的DOM也是虚拟DOM(virtual DOM),只有当它插入文档以后,才会变成真实的DOM。React也是在虚拟DOM发生变化时,进行比对后,只渲染变化的部分,它是React极高性能的主要原因之一。

但是有时候我们需要从组件中获取真实的DOM节点,React为我们提供了ref属性。下面我们通过一个demo了解Ref的用法。

image

这个案例很简单,就是有一个文本框,当你点击按钮时,光标定位到文本框里。这时就必须获取真实的DOM节点,虚拟DOM是拿不到input框的。
所以可以使用this.refs.要获取的dom名字。就可以返回真实的DOM。

class FoucsClick extends React.Component {
  constructor(props) {
    super(props)
  }
  handleClick(){
    this.refs.myFocusInput.focus();
  }
  render() {
      return (
        <div>
          <input type="text" ref="myFocusInput"/>
          <button onClick={this.handleClick.bind(this)}>点击获取焦点</button>
        </div>
      )
  }
}

ReactDOM.render( 
  <FoucsClick/>,
  document.getElementById('root')
);

相关文章

  • react学习-8.获取真实DOM节点

    React中的DOM也是虚拟DOM(virtual DOM),只有当它插入文档以后,才会变成真实的DOM。Reac...

  • 虚拟 DOM 的原理是什么?

    概念 React 用 JS 对象来模拟 DOM 节点,然后将其渲染成真实的 DOM 节点。 用 JSX 语法写出来...

  • js dom节点操作

    获取dom节点 新增dom节点 删除dom节点

  • Dom操作

    操作节点 获取节点 获取子节点 更新DOM innerHTMLinnerTEXT 插入DOM appendChil...

  • React 获取实际dom节点

    1.refclass AutoFocusInput extends Component {componentDid...

  • React 组件性能优化

    React 组件性能优化最佳实践 React 组件性能优化的核心是减少渲染真实 DOM 节点的频率,减少 Virt...

  • react获取循环列表的ref

    react 项目中有时会需要用到ref去获取节点的真实dom对象,在函数组件中官方推荐使用useRef 我在渲染列...

  • DOM

    一、对象基础(补充) 二、DOM获取节点 三、间接获取节点 四、DOM节点的添加和删除 五、DOM属性操作 六、练...

  • React(八)—— 获取真实DOM

    弥补一个知识点,默认props,本来写上篇文章的,忘了 当然默认的权重是最低的,实际开发很多时候还是使用三元 获取...

  • react ref获取真实dom

    之前一直用ref获取,没觉得有什么问题,但是获取封装的组件获取到的却是React对象,而不是dom元素。 ref获...

网友评论

    本文标题:react学习-8.获取真实DOM节点

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