美文网首页
React获取DOM

React获取DOM

作者: stonehank | 来源:发表于2018-07-17 18:49 被阅读0次

React获取DOM的方法简述

createRef

当 ref 属性在组件时,获取组件实例;当ref属性在dom时,获取dom实例

findDOMNode

获取findDOMNode(this)参数组件(this)的DOM(所有DOM)

如果只是Fragment包裹,则只能获取其第一个子组件的DOM

例如:

获取的第一个子组件的DOM:<div>1</div>

<Fragment>
    <div>1</div>
    <div>2</div>
</Fragment>

获取的第一个子组件的DOM:<div><div>1</div><div>2</div></div>

<Fragment>
    <div>
        <div>1</div>
        <div>2</div>
    </div>
</Fragment>

forwardRef

用法:

const Child=React.forwardRef((props,ref)=>(
    <div>
        <span ref={ref}>child</span>
    </div>
))

通过上面包裹后,

class Parent extends Component{
    //...
    
    this.myRef=React.createRef();

    <Child ref={this.myRef} />
}

虽然ref在组件上,但还是能获取到Child的span.

另一种用法:获取的是input

const Child= React.forwardRef((props,ref)=>{
    class GrandChild extends React.Component{
        render(){
            return (
                <input ref={ref}/>
            )
        }
    }
    return (
        <div >
            child
            {props.children}
            <GrandChild />
        </div>
    )
})

相关文章

  • react中获取dom以及使用ref

    一、react中获取dom有以下提供三种方法: js 常规dom操作方式,通过id获取dom 2.react原生函...

  • React获取DOM

    React获取DOM的方法简述 createRef 当 ref 属性在组件时,获取组件实例;当ref属性在dom时...

  • React中获取DOM节点的两种方法

    React提供的获取DOM元素的方法有两种,一是react-dom中的findDOMNode(),二是refs。 ...

  • React 学习笔记

    React 中的虚拟dom 获取 state 数据 获取 jsx 模板 state + jsx (数据+模板)生成...

  • react基础入门:(二)原生JS操作DOM元素

    原文链接:react基础入门:(二)原生JS操作DOM元素 一 初始化项目 二 操作 DOM 获取 dom 元素 ...

  • React学习笔记(三)

    React中的 ref 的使用 ref是一个引用,在React中使用ref来直接获取DOM元素从而操作DOM Re...

  • (十)React 中 ref 的使用及坑

    帮助我们在 React 中获取DOM元素 在React 里面,可以用 e.target 获取到事件对应的元素,也可...

  • React获取DOM系列

    在前端开发过程中,必然有些情况会需要dom元素进行一些节点操作,抛开原生的获取方法,本文将介绍React提供的解决...

  • react第一篇

    1,整体结构 2,React DOM 3,内部自动循环数组 4,React组件 5,获取子组件 6,组件类的pro...

  • React 理念及优点

    React的理念:React不像JQuery,JQuery是我们想修改某一功能时,首先要获取该功能的DOM元素,再...

网友评论

      本文标题:React获取DOM

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