首页 > 其他分享 >react中useRef与createRef的区别(当前react18)

react中useRef与createRef的区别(当前react18)

时间:2022-12-02 11:34:56浏览次数:52  
标签:useRef 对象 创建 react react18 组件 createRef ref

 

1、useRef (是hooks一种,一般在函数组件使用

1.1、获取当前dom数据(不推荐,推荐使用受控组件-即使用useState绑定表单元素)

 

 

 

 

 

点击look, 获取input的数据内容 

 

 

 

1.2、作为存储使用

 

 

 

 

 

 

注: 

  1、初始化值为 80,但是新增后,逻辑是81,但是页面还是80

  2、由useRef创建的ref对象在组件的整个生命周期内都不会改变,可以考虑用此作为缓存数据中间数据,来存储数据 

  3、因为ref对象的改变,并不会触发页面的更新。

 

2、createRef(一般用于class组件,获取子组件dom)

 

注:

  1、createRef创建的ref对象,组件每更新一次,ref对象就会被重新创建。

 

3、区别

  

  • createRef会在组件每次渲染的时候重新创建
  • useRef只会在组件首次渲染时创建

 

  useRef之所以出现,就是因为在函数式组件中使用createRef创建ref时存在弊端(组件每次更新,ref对象就会被重新创建)

 

4、

 

标签:useRef,对象,创建,react,react18,组件,createRef,ref
From: https://www.cnblogs.com/-roc/p/16943895.html

相关文章

  • react学习
    reactfiber也就是指react16之后的版本,相比之间内部底层算法做了调整react是基于组件开发的,类似于vue,组件就是网页上的一部分,当组件足够小就可以看做是标签,或者说标签就是......
  • react JSX
    JSX到底是什么?一种标签语法,hs进行的语法拓展不是字符串,不是HTML标签描述UI呈现与交互的直观的形式生成react元素createElement与jsx对比constrE1=<h1>Thisi......
  • GREAD: Graph Neural Reaction-Diffusion Equations
    目录概符号说明基本框架ChoiJ.,HongS.,ParkN.andChoS.GREAD:graphneuralreaction-diffusionequations.arXivpreprintarXiv:arXiv:2211.14208概作者......
  • react-native run-android Starting: Intent Error type 3 Error: Activity class doe
    react-nativerun-androidStarting:IntentErrortype3Error:Activityclassdoesnotexist  使用”react-nativerun-android”命令运行android应用时,如果常......
  • react中setState为什么设计成异步更新
    1.可以显著提升性能:因为每次调用setState进行更新,都会调用render函数,导致界面也会频繁更新,因此最好是获取到多个更新后,再进行批量更新。2.可以使state和props保持同步......
  • React Webpack copy文件到build路径
    目的:webpack打包时将资源文件copy到指定路径1:安装依赖copy-webpack-plugin、customize-cra、react-app-rewired2:修改script,使用react-app-rewired命令"build:copy":"......
  • React useRef
    useRef应用场景:绑在DOM上,绑在组件上,保存临时变量永远不丢失举个栗子importReact,{useState,useRef}from'react'exportdefaultfunctionApp(){const[......
  • React Server Component: 混合式擦染
    ReactServerComponent:混合式擦染原创字节跳动终端技术工作日志前天16:29阅读数20本文被收录于专区大前端进入专区参与更多专题讨论 ......
  • React 生命周期
    本文基于react18当组件实例被创建并插入DOM中时,其生命周期调用顺序如下constructor构造getDerivedStateFromProps从props中获取staterender渲染componentDi......
  • 第五章、react高级
    目录十一、AntDesign组件库1、react中添加class-使用第三方库classnames2、antdesign简介3、认识craco4、自定义主题5、配置别名6、案例十二、axios库的使用1、axios的基本......