当前位置: 首页 > wzjs >正文

做网站公司汉狮团队郑州网络运营培训

做网站公司汉狮团队,郑州网络运营培训,注册深圳公司条件,网站恶意刷✅ React 中的 ref 是什么? 在 React 中,ref(Reference) 是用来: 在不通过 state 的情况下,引用 DOM 或保存某个可变值 的机制。 🆚 React ref 和普通 JS 对象的区别 特性React ref普通 JS 对…

✅ React 中的 ref 是什么?

在 React 中,ref(Reference) 是用来:

在不通过 state 的情况下,引用 DOM 或保存某个可变值 的机制。


🆚 React ref 和普通 JS 对象的区别

特性React ref普通 JS 对象 {}
是否响应式❌ 不是响应式(修改后不会引发 re-render)❌ 同样不是
用于持久化跨渲染值✅ 是(值在多次 render 中保持不变)❌ 不会(组件每次 render 都重新构造)
能否挂载到 DOM 元素✅ 可以通过 ref={myRef} 挂载 DOM❌ 不行
生命周期内是否共享✅ 是❌ 否,每次 render 都会新建

📌 示例:普通 JS 对象的问题

function MyComponent() {const counter = { current: 0 };const handleClick = () => {counter.current++;console.log(counter.current);};return <button onClick={handleClick}>Click</button>;
}

问题: 每次 render,counter 都是新对象,值不会保留。


✅ 使用 useRef 正确方式

import { useRef } from "react";function MyComponent() {const counter = useRef(0); // 保持跨 render 持久const handleClick = () => {counter.current++;console.log(counter.current);};return <button onClick={handleClick}>Click</button>;
}
  • useRef() 返回一个 { current: ... } 对象。
  • 这个对象在整个组件生命周期内不会变化(就像是“盒子”)。
  • 改变 ref.current 不会触发组件重新渲染。

✅ 用途总结

用途示例说明
💡 持久保存可变数据(跨渲染)比如计时器 ID、上次滚动位置、旧的 props 等
🎯 获取真实 DOM 节点<div ref={myRef} /> 获取 DOM
🧠 存储函数引用防止闭包陷阱、绑定旧变量
🔥 不想触发渲染的缓存值用来做性能优化

✅ 示例:获取 DOM 节点

function InputFocus() {const inputRef = useRef(null);const handleClick = () => {inputRef.current.focus();  // 直接操作 DOM};return (<><input ref={inputRef} /><button onClick={handleClick}>Focus</button></>);
}

❗注意事项

  • 修改 ref.current 不会触发组件更新(不像 useState)。
  • 不要试图监听 ref.current 的变化,ref 不是响应式系统。
  • 不适合替代 state 做 UI 展示用途。

✅ 总结一句话

🔧 useRef 是一个不会因为组件重新渲染而重置的可变容器,适合保存 DOM 引用或临时变量。


http://www.dtcms.com/wzjs/59972.html

相关文章:

  • 重庆市公共资源交易中心网官网泉州seo优化
  • 重庆网站建设套餐南宁seo教程
  • 清苑建设局网站淘宝指数查询官网手机版
  • 做网站信科网站建设谷歌流量代理代理
  • 网网站建设公司咨询上海网站推广服务
  • 如何做美女图片网站成都高端企业网站建设
  • 知名的wordpress主题河南seo优化
  • 建设网站一定要备案吗科学新概念seo外链
  • 网站后台系统功能网页关键词排名优化
  • 请人做网站收费多少钱网络销售每天做什么
  • 二维码生成器网站seo工作室
  • wordpress外贸主题搜索引擎推广seo
  • 网络营销之网站建设发布友情链接
  • 做网站项目的流程站长工具app下载
  • 在国外做外国的成人网站合法吗免费建站哪个比较好
  • 网站做细分领域百度关键词排名查询接口
  • 网站设计制作开发公司it培训四个月骗局
  • 市场推广策略 包括哪些株洲专业seo优化
  • php网站开发心得餐饮管理和营销方案
  • 优化网站关键词怎么做网络优化公司有哪些
  • 金方时代做网站怎么样广东企业网站seo哪里好
  • 博客网站排名nba最新排名东西部
  • 个人网站做打赏流程seo公司服务
  • 用java开发网站的步骤网络软文案例
  • 二手车网站策划电商运营seo
  • 网站建设咨询公司什么是网络营销?
  • wordpress后台所有栏目都404网络推广优化招聘
  • 织梦 安装网站天津seo排名
  • 网站标签图标代码利尔化学股票
  • 网站建设与运营意义沈阳seo建站