欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > React【1】【ref常用法】

React【1】【ref常用法】

2025/2/8 11:12:13 来源:https://blog.csdn.net/qq_32019935/article/details/142387066  浏览:    关键词:React【1】【ref常用法】

文章目录

  • 前言
  • 用途
    • 1. 储存
    • 2. 储存dom句柄ref


前言

react组件每次调用setState的时候都会重新执行函数组件或者class组件

用途

1. 储存

每次调用setState时,组件函数都会重新执行。下面这种情况点击提交后,再点击取消,会发现定时器trimId1仍然执行了。这是因为trimId1被重新赋值了。

function App() {const [msg, setMsg] = useState("未提交");let trimId1 = 0;const trimId2 = useRef(0);console.log("更新重新执行函数");const onAsyncSend = () => {trimId1 = setTimeout(() => {alert("发送1");}, 3000);trimId2.current = setTimeout(() => {alert("发送2");}, 3000);setMsg("等待提交");};const onCancel = () => {clearTimeout(trimId1);clearTimeout(trimId2.current);};return (<><div><button onClick={onAsyncSend}>提交</button><button onClick={onCancel}>取消</button><p>{msg}</p></div></>);
}

2. 储存dom句柄ref

import {useRef} from "react"
function com(){const refDom = useRef(0);return <><input ref={refDom}/></>
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com