在使用react过程中,大家有时会
import { findDomNode } from 'react-dom';
那么这里的findDomNode是做什么的呢?
简单来说是用来得到实际Dom的,因为react组件有个特点,它有自定义组件,比如<NavBox/>这种,用ref来获取这种组件获取到的这是组件定义的对象的实例,见下面代码
getNodeInstance() { const nodeInstance = this.refs.navBox; } function WapShop() { return ( <div> <NavBox ref="navBox" /> </div> ); }
这里的nodeInstance就是一个NavBox的实例,但是如果这样:
let initialNode = findDomNode(this.refs.navBox);
此时initailNode会得到NavBox组件中render方法返回的dom元素。
那我们拿到这个dom就是可以获取诸如offsetWidth这种需要的属性了。岂不快哉!