useRef的作用
useRef返回一个可变的ref对象,这个对象的current属性可以被赋值为任何值。在组件重新渲染时,ref对象不会被重新创建
- 访问DOM元素:可以使用useRef来访问DOM元素,从而进行一些DOM操作,如获取元素的宽高、滚动位置等。
- 保存组件的状态:可以使用useRef来保存组件的状态,从而避免状态的重新渲染。这个状态不会触发组件的重新渲染,因此可以用来保存一些不需要触发重新渲染的数据。
- 缓存数据:可以使用useRef来缓存一些计算结果,从而避免重复计算。这个缓存的数据可以在组件重新渲染时保持不变,从而提高组件的性能。
function useRef(initialValue) {
const [value, setValue] = useState(initialValue);
const ref = { current: value };
return ref;
}
可以使用Ref替换全局变量