react中findDOMNode

在使用react过程中,大家有时会
那么这里的findDomNode是做什么的呢?

import { findDomNode } from 'react-dom';

  简单来说是用来得到实际Dom的,因为react组件有个特点,它有自定义组件,比如<NavBox/>这种,用ref来获取这种组件获取到的这是组件定义的对象的实例,见下面代码

getNodeInstance() {

    const nodeInstance = this.refs.navBox;

}   





function WapShop() {

    return (

        <div>

              <NavBox ref="navBox" />

        </div>

    );

}

  这里的nodeInstance就是一个NavBox的实例,但是如果这样:  此时initailNode会得到NavBox组件中render方法返回的dom元素。

let initialNode  =  findDomNode(this.refs.navBox);
reactJs对DOM的操作
1. 使用选择器

var Btn = document.getElementById('btn')
ReactDom.findDOMNode(Btn).style.color = 'red'
2. 使用ref

在标签内使用ref='btn'

this.refs.btn.style.color = 'red'
Refs 是访问到组件内部DOM节点唯一可靠的方法 
注意:不要在render或render之前对Refs进行调用

posted on 2019-02-21 19:05  Diamond_xx  阅读(278)  评论(0编辑  收藏  举报

导航