“ref”对象是一个通用容器,其current属性是可变的

保存dom

function Test() {const t = useRef(null);useEffect(() => {l(t.current); // div});return (<div ref={t}> ... </div>);
}

保存事件程序

function Test() {const t = useRef(null);function handleClick() {t.current = setTimeout(() => l(1), 2000);}function handleClear() {clearTimeout(t.current);}return (<><button onClick={handleClick}>start</button><button onClick={handleClear}>clear</button></>);
}

存储以前的值

function Test() {const t = useRef(null);const [name, setName] = useState("ajanuw");useEffect(() => {t.current = name;});const prevName = t.current;return (<div><input value={name} onChange={e => setName(e.target.value)} /><h2>{name}</h2><p>{prevName}</p></div>);
}

转载于:https://www.cnblogs.com/ajanuw/p/10152485.html

react useRef()函数相关推荐

  1. 深度解析 React useRef Hook 的使用

    useRef 返回一个可变的 ref 对象,其 .current 属性被初始化为传入的参数(initialValue).返回的 ref 对象在组件的整个生命周期内持续存在. 命令式地获取及操作DOM: ...

  2. React事件处理函数传参问题

    React事件处理函数参数 HTML标签与React 组件是不同的,事件对象e是HTML标签元素的,组件没有的. 转载于:https://www.cnblogs.com/zhansu/p/848232 ...

  3. [react] render函数中return如果没有使用()会有什么问题?

    [react] render函数中return如果没有使用()会有什么问题? 我们在使用JSX语法书写react代码时,babel会将JSX语法编译成js,同时会在每行自动添加分号(:),如果retu ...

  4. html 的函数写法,react中函数的不同写法的区别是什么?

    react中函数不同写法的区别是什么?下面本篇文章给大家介绍一下React内三种函数的写法,并对比一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. React内三种函数的写法 写 ...

  5. 一文带你了解React 纯函数组件

    1. 纯函数 所谓纯函数,它是这样一种函数:即相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用. 从纯函数的定义,可以提取出纯函数的必要条件: 纯函数接受参数,基于参数计算,返回一个新对象 ...

  6. React+typescript 函数组使用 ref

    正常获取函数组件DOM,因为函数组件没有实例current,所以要使用React.forwardRef来配合React.createRef解决: import React from 'react'co ...

  7. React Ways1——函数即组件

    未经审视的代码是不值得写的 ​ -- 沃兹吉硕德 React 中有一个经典的公式: const View = f(data) 复制代码 从这个公式里我们可以提取出两个特点: 视图由函数定义--函数即组 ...

  8. react封装函数_React-Router源码解读

    起因 目前负责的项目中有一个微信网页,用的是react技术栈.在该项目中增加了一个微信分享功能后,线上ios出现了问题,经排查,定位到了react的路由系统. 这次线上bug,让我决定,先从react ...

  9. react封装函数_GitHub - daifee/react-component: 用 React 封装一套常用组件

    Daifee-React-Component 用 React 封装一套常用组件 所有组件都是 stateless 组件,但为方便,某些组件提供 API 调用方式的静态方法. [TOC] 使用前须知 源 ...

最新文章

  1. 解决UbuntuE: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
  2. 前端编码风格规范(3)—— JavaScript 规范
  3. 我的世界中国版服务器地图文件在哪,我的世界中国版手机版联机的地图保存在哪 | 手游网游页游攻略大全...
  4. 爱立信与中国联通成功完成国内首个LTE三载波聚合大规模部署测试
  5. win10 解决升级 WordPress 时提示”另一更新正在进行”
  6. jsonp react 获取返回值_Django+React全栈开发:文章列表
  7. 如何改变控件内的字体颜色?
  8. python测量镜头到目标距离_摄像头单目测距原理及实现
  9. 因为计算机丢失user32.dll,user32dll丢失程序打不开|Win7系统开机提示Uxtheme.dll丢失如何解决?...
  10. PythonOcc实战——step文件导入、零件识别、几何属性、爆炸图初步展示
  11. python print什么意思_python中print有什么用
  12. torch.save()模型的保存于加载
  13. 如何给学生选择好的台灯?分享国AA级照度的护眼台灯
  14. Python数据分析—Pandas数据规整
  15. 【Offer-ssp】OPPO 2020届秋季校园招聘数据分析 | 笔试+一面+二面+HR面(2019.10.12-10.18)
  16. 2.5.1 HMC扫描小型机
  17. 中鑫吉鼎|一份行之有效的投资计划
  18. 公寓报修系统(IDEA,SSM,MySQL)
  19. AddressSanitizer 页面
  20. Internet Download Manager6.32(IDM)安装及破解方法[亲测有效]

热门文章

  1. java day01第一课java简介
  2. ASP.NET Core 中文文档 第四章 MVC(2.2)模型验证
  3. .net中用Action等委托向外传递参数
  4. winFrom简单引用Webservice
  5. Javascript在客户端导出multi-sheet excel
  6. 十天学会ASP.net
  7. 机器人动力学简化模型(Euler-Lagrange equation)
  8. vue-cli watch/timer
  9. lex/flex 笔记
  10. ORACLE DataGuard主备切换