useRef

58 阅读1分钟

useRef的作用

useRef返回一个可变的ref对象,这个对象的current属性可以被赋值为任何值。在组件重新渲染时,ref对象不会被重新创建

  1. 访问DOM元素:可以使用useRef来访问DOM元素,从而进行一些DOM操作,如获取元素的宽高、滚动位置等。
  2. 保存组件的状态:可以使用useRef来保存组件的状态,从而避免状态的重新渲染。这个状态不会触发组件的重新渲染,因此可以用来保存一些不需要触发重新渲染的数据。
  3. 缓存数据:可以使用useRef来缓存一些计算结果,从而避免重复计算。这个缓存的数据可以在组件重新渲染时保持不变,从而提高组件的性能。
function useRef(initialValue) {
    const [value, setValue] = useState(initialValue);

    const ref = { current: value };

    return ref;
}

可以使用Ref替换全局变量