react源码3 - ref

ref可以获取dom节点或者react元素的实例,一般有三种使用方法

1. string ref

image.png

使用方法就是在react元素上使用一个ref属性,然后传入一个字符串,最后react在完成这个节点的渲染之后,就会在this.ref这个对象上增加一个这个字符串的key,这个key对应的value就是这个react元素的实例。如果是一个function component则会报错。如果要对function component使用ref,就必须把function component用forwardRef给包起来


image.png

2. function

image.png

3. createRef

image.png

createRef会创建一个对象,这个对象默认值是{current: null},把这个this.objRef放到ref属性里后,这个节点对应的实例就会挂载到这个对象的current上。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。