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进行调用

猜你喜欢

转载自blog.csdn.net/margin_0px/article/details/81331159