认识
2023年12月28日
一、认识
react/src/ReactCreateRef.js
export function createRef() {
const refObject = {
current: null,
}
return refObject;
}
createRef
只做了一件事,就是创建了一个对象,对象上的current
属性,用于保存通过ref
获取的DOM
元素,组件实例等。对于类组件而言,类组件有一个实例instance
能够维护像ref
这种信息;但是由于函数组件每次更新都是一次新的开始,所有变量重新声明,如果这样每一次函数组件执行就会重新声明Ref
,此时 ref
就会随着函数组件执行被重置,造成内容丢失。这就解释了在函数组件中为什么不能用createRef
的原因