网站的外部链接建设品牌宣传片策划公司

news/2025/9/24 2:25:20/文章来源:
网站的外部链接建设,品牌宣传片策划公司,装饰设计乙级资质承接范围,西安网络推广平台公司目录 什么是useRef#xff1f; 使用 ref 访问 DOM 元素 Ref和useRef之间的区别 Ref和useRef的使用案例 善用工具 结论 在各种 JavaScript 库和框架中#xff0c;React 因其开发人员友好性和支持性而得到认可。 大多数开发人员发现 React 非常舒适且可扩展#xff0c;…目录 什么是useRef 使用 ref 访问 DOM 元素 Ref和useRef之间的区别 Ref和useRef的使用案例 善用工具 结论 在各种 JavaScript 库和框架中React 因其开发人员友好性和支持性而得到认可。 大多数开发人员发现 React 非常舒适且可扩展因为它提供了钩子。钩子是 React 附带的内置 API允许开发人员与 React的状态和生命周期功能进行交互。钩子在类内部不起作用因此它们只能在功能组件中使用。开发人员还可以决定创建自定义钩子。 React 比大多数 UI 库更能让你重新思考设计标准允许开发人员自定义UI组件例如使用 React 和 JSX 的抽象机制而不是典型的 DOM 规范创建视图。 在本文中我们将讨论 React钩子函数 useRef 使用 ref 访问 DOM 以及 ref 和 useRef 之间的区别。 什么是useRef React 中包含的各种钩子之一是 useRef 钩子;它用于引用功能组件中的对象并在重新渲染之间保留引用对象的状态。 useRef 有一个名为“current”的属性用于随时检索引用对象的值同时还接受初始值作为参数。您可以通过更新 current 值来更改引用对象的值。 以下是创建引用对象的方法 import { useRef } from ‘react’const myComponent  ()  {const refObj  useRef(initialValue)return (//…) }在上面的代码片段中我们有一个要在应用程序中引用的对象 refObj 要访问值或更新值我们可以像这样调用 current 该属性 // inside a function const handleRefUpdate  ()  {// accessing the referenced object’s valueconst value  refObj.current// updating the referenced object’s valuerefObj.current  newValue }您应该注意 引用对象的值在重新渲染之间保持不变。 更新引用对象的值不会触发重新呈现。 使用 ref 访问 DOM 元素 请记住DOM 元素也是对象我们可以使用useRef引用它们。但是现在我们需要利用另一个名为 ref。 ref 是一个 HTML 属性它将引用的对象分配给 DOM 元素。让我们看看这是如何工作的 import {useRef} from ‘react’const myComponent  ()  {const elementRef  useRef()return (input ref{elementRef} type”text” /) }在上面的代码片段中我们创建了一个新的引用对象elementRef 并使用属性 ref 将其分配给输入标记。我们可以访问输入标签的值并像这样更新值 const handleInput  ()  {//accessing the input element valueconst textValue  elementRef.current.value// update the input element valueelementRef.current.value  “Hello World” }在上面的代码片段中我们创建了一个函数该函数获取输入元素的当前值并将其分配给 textValue。我们还将输入元素的值更新为“Hello World”。 Ref和useRef之间的区别 既然我们了解了useRef和Ref工作方式及它们的差异让我们看看如何在实际应用程序中使用它们。例如我们希望为弹出窗口实现一个点击离开事件侦听器。我们可以利用ref访问弹出窗口的 DOM 元素并在弹出窗口外单击时进行侦听。 在你的react 应用中你可以创建一个名为“hooks”的文件夹这个文件夹将包含自定义钩子。 在文件夹中创建一个新文件 useClickAway 并在文件中输入以下代码 import React, { useEffect} from reactexport default function useClickAway(ref: any, callback: Function) {useEffect(()  {function handleClickAway(event: any) {if (ref.current  !ref.current.contains(event.target)) {callback();}}document.addEventListener(mousedown, handleClickAway);return ()  {document.removeEventListener(mousedown, handleClickAway);};}, [ref]);};在上面的代码片段中我们创建了一个接受引用对象作为 ref 和回调函数的自定义钩子然后我们执行了一个事件侦听器来检查何时单击鼠标如果单击不在当前 ref 上则我们触发回调函数。 以下是产品页面上自定义挂钩的实现 import React, { useRef } from react; //.. Other importations export default function Storefront() {const targetElement  useRef(null)const alertClickAway  ()  {alert(Clicked outside product 1)}useClickAway(targetElement, alertClickAway)//.. Other functionsreturn ({//.. Other parts of the application}div classNamegallerydiv classNamecol ref{targetElement}img srchttps://i.postimg.cc/G207QNV7/image.png altProduct 1 /piWatch Series 6/pdiv classNamebtnsbuttonimg srchttps://api.iconify.design/flat-color-icons:like.svg?color%23888888 altlike //buttonbuttonimg srchttps://api.iconify.design/icon-park:buy.svg?color%23888888altadd //button/div/div) }在上面的代码片段中我们有一个店面组件我们在其中导入了自定义钩子然后我们创建了一个新的引用对象 targetElement 并将其分配给产品库中的 div然后我们创建了一个回调函数useClickAway以便在使用ref在产品项外部单击鼠标时发出警报 targetElement 。 现在让我们看看输出 Ref和useRef的使用案例 你现在对什么是ref以及useRef以及它们的使用有了一定的了解。ref和useRef两者都很容易被滥用会造成使用开销比较大。现在你可能需要考虑的是何时使用以及如何尽可能避免使用。 以下是参考的一些用途 与输入元素交互通过使用 refs 可以访问输入元素并执行焦点、更改跟踪或自动完成等功能。 与第三方 UI 库交互ref 可用于与第三方 UI 库创建的元素进行交互这些元素使用标准 DOM 方法访问可能很棘手。例如如果您使用第三方库生成滑块则可以使用ref访问滑块的 DOM 元素而无需被告知滑块库源代码的结构。 媒体播放您还可以使用 refs 访问图像、音频或视频等媒体资产并与它们的呈现方式进行交互。例如当元素进入视口时自动播放视频或延迟加载图像。 复杂动画触发传统上CSS 关键帧或超时用于确定何时启动动画。在某些情况下可能更复杂您可以使用 refs 来观察 DOM 元素并确定何时开始动画。 在某些情况下如下所示不应使用引用 声明性案例即使在使用 refs 的简单解决方案的情况下也无需编写更昂贵的代码来执行相同的任务。例如使用条件渲染来隐藏或显示 DOM 元素而不是 ref。 影响状态的元素有时使用refs的概念非常有趣以至于您忽略了对元素所做的修改对应用程序生命周期的影响。您应该记住对 ref 的更改不会导致重新渲染并且ref在渲染中保持其对象的值。因此建议避免在状态更改需要触发重新渲染的情况下使用 ref。 访问功能组件不应被误认为功能组件的 DOM 元素可以使用Ref 属性进行引用。因为与类组件或 DOM 元素不同功能组件没有实例。例如 import {useRef} from ‘react’const FunctionalComponent  ()  {return (h1Hello World ) }const myComponent  ()  {const elementRef  useRef()return (FunctionalComponent ref{elementRef} /) }由于组件 FunctionalComponent 没有实例因此上述代码片段中的 ref 将不起作用。相反我们可以将其转换为FunctionalComponent类组件或在 FunctionalComponent 组件的 forwardRef 中使用。 善用工具 成功的前端工程师很会善用工具这些年低代码概念开始流行像国外的 Mendix国内的 JNPF这种新型的开发方式图形化的拖拉拽配置界面并兼容了自定义的组件、代码扩展确实在 B 端后台管理类网站建设中很大程度上的提升了效率。 开源地址JNPF体验中心 代码量少系统的稳定性和易调整性都会得到一定的保障。基于代码生成器可一站式开发多端使用 Web、Android、IOS、微信小程序。代码自动生成后可以下载本地进行二次开发有效提高整体开发效率。同时支持多种云环境部署、本地部署给予最大的安全保障可以快速搭建适合自身应用场景的产品。 结论 在本文中我们讨论了如何使用 useRef 钩子创建引用该钩子采用初始值并修改引用对象的“current”属性的值以更新其值。 我们看到了如何将“current”值与“ref”一起使用来访问 DOM 元素并与其属互。 我们将介绍如何创建一个接受引用 DOM 元素的自定义钩子和一个回调函数以便在应用程序中使用 “ref” 和 “useRef” 来观察 DOM 元素上的单击事件。 此外我们还讨论了“ref”和“useRef”的用例何时使用它们何时不使用它们。 在了解了ref 以及useRef 如何在不重新渲染父组件的情况下跟踪和更新可变值之后您可以通过查看Refs 和 useRefs 的 React 的相关官方文档来探索更多关于它们的信息或了解更多信息甚至尝试其他 React 钩子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914594.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么做网站海报企业网站建设的提案

8,路由反射器 Router Reflector --- 路由反射器 --- RR ---- 我们可以通过配置,将某些设备在一定的条件下设置称为路由反射器,之后,该设备将可以反射所学习到的IBGP路由信息。 我们在指定一台路由器称为路由反射器(RR&…

机械网站建设哪家好网站开发维护者

文章目录 前言1.Mysql服务安装2.创建数据库3.安装cpolar3.2 创建HTTP隧道4.远程连接5.固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了Linux命令行进行繁琐的配置&#x…

陕西西安网站建设公司排名浙江省信息港

在当今数字时代,移动设备已经成为人们日常生活中不可或缺的一部分。从智能手机到平板电脑,人们几乎无时无刻不在使用移动设备来浏览网站、查看社交媒体和购物。因此,对于博主和网站所有者来说,确保他们的网站在各种屏幕大小和设备…

网站改版设计要多久企业展示网站建设需要做什么

前言 最近在开发swing客户端时候碰到一个棘手的问题: Swing中的FlowLayout/WrapLayout在打横排列时候如何做到置顶对齐如果是vue或者react,一搜百度什么都出来了,swing的话,嗯。。。资料有点少而且大部分是stack overflow上面的…

如何判断网站是用织梦做的怎么介绍自己做的网站

2. anaconda的工作过程前面提到,使用anaconda安装CentOS系统有两种方式,默认使用的是图形界面(GUI)安装,要求主机内存至少有512MB内存。而使用基于文本配置接口(TUI)来安装CentOS则需要显示指定,指定方式可以是在菜单界面按ESC键&…

手机怎么开网站网站设计谈判

项目简介:专门针对微信服务号开发的一套微信商城,微信分销商城,支持商品多规格,支持按地区设置邮费,支持限时打折,订单返现,满减送,满包邮,支持订单打印,订单…

北龙建设集团有限公司企业网站网站建设描述怎么写

本文目录 一、项目基本信息二、分析当前项目情况1、使用 webpack-bundle-analyzer 插件2、使用 speed-measure-webpack-plugin 插件 三、解决构建问题1、caniuse-lite 提示的问题2、 warning 问题 四、打包速度优化1、修改source map2、处理 loader 五、webpack性能优化1、使用…

网站做虚假广告青海省建设监理协会网站

假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花&…

城建公司建设网站基础资料wordpress底部添加菜单

题目 跳房子,也叫跳飞机,是—种世界性的儿童游戏,游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后—格。跳房子的过程中,可以向前跳,也可以向后跳。 假设房子的总格数是count,小红每回合可能连续跳…

河东区腾讯网站建设怎么做网站的内部链接

UniApp是一个跨平台的应用开发框架,可以帮助开发者快速地在多个平台上构建应用程序。其中,实现路线规划是一个常见的需求,特别是对于地图类应用或者出行类应用来说,路线规划功能是非常重要的。 首先引入QQMapWX; impo…

如何判断网站是否被收录html5自学教程

在公司开发的时候遇到的一个很玄幻的问题,这个项目是21年开发的,现在我是24年中途二开增加新功能 这个项目经过多人之手,现在已经出现了问题------项目依赖安不上,我能启动完全是因为在23年的时候写这个项目的时候将依赖费九牛二虎之力下载好后打成了压缩包发给另外一个安不上依…

云抢购网官方网站北京信息发布平台

随着互联网应用的不断发展,网站的访问速度成为了用户体验的重要指标之一。为了解决网站访问速度过慢的问题,CDN(内容分发网络)技术被广泛应用。CDN作为一种分布式的网络架构,可以将静态资源如图片、视频、JS、CSS等内容…

建网站麻烦吗专业网站设计公司排名

返回:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(四)- 下一篇: 无 12. sqlite3_bind_text16函数 sqlite3_bind_text16函数用于将UTF-16编码的文本数据(字符串)绑定…

传统pc网站货架网站开发

目录 描述 相关属性 使用 描述 盒子模型 例如下面房子模型 • Content 矩形区域: 存放控件内容.⽐如包含的⽂本/图标等. • Border 矩形区域: 控件的边框. • Padding 矩形区域: 内边距. 边框和内容之间的距离. • Margin 矩形区域: 外边距. 边框到控件 geometry 返回的矩形…

镇江网站制作哪家公司比较好我的小程序入口

基本概念:进程和程序的区别 :1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。2、程序和进程无一一对应关系。一个程…

怎么搭建自己的网站服务器南京公司网站建设怎么收费

Docker最全教程之MySQL容器化 (二十四) 原文:Docker最全教程之MySQL容器化 (二十四)前言 MySQL是目前最流行的开源的关系型数据库,MySQL的容器化之前有朋友投稿并且写过此块,本篇仅从笔者角…

中国建设银行对公网站网页在线生成app

1、表格插入 方法一:直接创建表添加 #导入库 from docx import Document #创建文档对象 document Document()#创建5行7列表格 table document.add_table(rows5, cols7)#修改第2行第3列单元格的内容为中国 table.cell(1,2).text中国 #修改第3行第4列单元格的内容…

网站上的彩票走势图是怎么做的wordpress 导入分类

JAR包正常的情况下出现 服务器没有找到驱动jar 报错Cannot load JDBC driver class com.mysql.jdbc.Driv 原因是没有把MYSQL驱动放在TOMCAT的LIB目录下 解决方法:把JDBC驱动放到Tomcat的common/lib下,重新启动服务器 转载于:https://www.cnblogs.com/leiteng/archiv…

个人团购网站 转入备案代账公司注册条件

损失函数(Loss Function)和代价函数(Cost Function)是同一个东西;例如:有一组样本数据,用f1(x),f2(x),f3(x)三个函数(模型)分别来拟合,三个函数的输出F(x)与真实值可能相同也可能不同,为了表示拟…

iis怎么部署网站用dz做网站怎么设置数据库

Filter 可认为是 Servlet的一种 “ 加强版 ”,它主要用于对用户请求进行预处理, 也可以对HttpServletResponse 进行后处理,是个典型的处理链。Filter 也可对用户请求生成响应,这一 点与Servlet 相同, 但实际上很少会使…