React

92 阅读1分钟

ref的原理

render(){
    return <input ref={element => {this.element = element}/>
}

当我们需要访问底层DOM节点来执行一些命令式操作,ref就很重要了。但一般情况下都应该尽量避免使用ref,因为它让我们的代码更偏向与命令式,可读性与可维护性都变差了。

ref的用法与原理: 在返回元素的ref属性上定义一个回掉函数。这个回掉函数会在组件挂在时被调用,元素参数表示输入的DOM实例,值得注意的是,卸载时也会调用这个回掉,并传入null参数来释放内存。 设置非原生组件(以大写字母开头的自定义组件)的ref回掉时,接收到的回掉参数引用不是DOM节点实例,而是组件本身的实例。允许我们访问子组件的内部实例。