有大用途的useRef

简介: 有大用途的useRef

使用useRef获取DOM元素

使用useRef获取DOM元素是目前useRef最常用的用法。

基本用法

function App() {
    const box = useRef();
    return (
        <div ref={box}>
            <button onClick={() => console.log(box)}>点击获取div</button>
        </div>
    )
}
复制代码

使用useRef跨组件周期保存数据

即使组件重新渲染,保存的数据仍然还在,保存的数据被更改不会触发组件重新渲染。

基本用法

/**
 * @description: 组件挂载完成之后开启一个循环定时器,使用useRef的保存数据功能
 *               不会随着组件的更新而丢失数据
 * @param {*}
 * @return {*}
 */
function App() {
    const [count,setCount] = useState(0)
    const timeId = useRef;
    useEffect(() => {
        timeId.current = setInterval(() => {
            setCount(count => count + 1);
        },1000)
    }, []);
    const handleSetInterval = () => {
        clearInterval(timeId.current)
    }
    return (
        <div>
            <h1>当前求和为{count}</h1>
            <button onClick={handleSetInterval}>点我清除定时器</button>
        </div>
    )
}
复制代码

这里我们需要注意的是数据并不是直接保存在useRef返回的这个对象中的,而是保存在这个对象的current属性上的。

目录
打赏
0
0
0
0
6
分享
相关文章
面试官:请你说一说vuex的五个属性,分别是什么,区别和用途说一下(三)
面试官:请你说一说vuex的五个属性,分别是什么,区别和用途说一下
面试官:请你说一说vuex的五个属性,分别是什么,区别和用途说一下(二)
面试官:请你说一说vuex的五个属性,分别是什么,区别和用途说一下
面试官:请你说一说vuex的五个属性,分别是什么,区别和用途说一下(一)
面试官:请你说一说vuex的五个属性,分别是什么,区别和用途说一下
面试官:请你说一说vuex的五个属性,分别是什么,区别和用途说一下(一)
哇哦~ 老板让我用 vue3 setup 实现动态表单的功能?这有什么难度吗?立马安排!
哇哦~ 老板让我用 vue3 setup 实现动态表单的功能?这有什么难度吗?立马安排!
第二十三章 案例TodoList之数据更新
第二十三章 案例TodoList之数据更新
第二十三章 案例TodoList之数据更新
第二十章 案例TodoList之动态数据
第二十章 案例TodoList之动态数据
前端学习笔记202305学习笔记第二十天-vue3.0-了解作用域插槽的作用2
前端学习笔记202305学习笔记第二十天-vue3.0-了解作用域插槽的作用2
79 0
前端学习笔记202305学习笔记第二十天-vue3.0-了解作用域插槽的作用1
前端学习笔记202305学习笔记第二十天-vue3.0-了解作用域插槽的作用1
51 0
【React工作记录四十】对象的属性和值转换
【React工作记录四十】对象的属性和值转换
131 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等