useRef()
本质上就是一个"盒子",用来保存引用值!!该 hook 返回一个可变的ref对象,可以通过访问它身上的current
属性,来访问保存的变量!!
-
可以保存 DOM 节点
- 可以对原生 DOM 节点进行一些操作!!
-
可以保存组件
-
可以保存普通变量
- 不会像 useState() 一样有异步的问题!!
可以接收一个参数 -- 要保存的变量的初始值!!
注意:
因为涉及到重新渲染问题,所以如果是普通的进行变量声明,是保存不了变量的值的,因为每次重新渲染,都会重新声明并赋值为初始值!!!but,useRef()
就可以达到保存变量的效果(使用了闭包)!!