当前位置:首页 > React

React中useRef如何用

2026-03-10 22:42:59React

useRef的基本概念

useRef是React Hook之一,用于在函数组件中创建可变的引用对象。其返回值是一个包含current属性的对象,该属性可存储任意值,且在组件重新渲染时保持不变。

获取DOM元素的引用

通过useRef绑定DOM元素,可直接操作原生DOM:

import React, { useRef } from 'react';

function TextInput() {
  const inputRef = useRef(null);

  const focusInput = () => {
    inputRef.current.focus();
  };

  return (
    <div>
      <input type="text" ref={inputRef} />
      <button onClick={focusInput}>聚焦输入框</button>
    </div>
  );
}

此处inputRef.current指向实际的<input> DOM节点。

存储可变值

useRef可存储与渲染无关的变量,修改时不会触发重新渲染:

function Counter() {
  const countRef = useRef(0);

  const increment = () => {
    countRef.current += 1;
    console.log('当前值:', countRef.current);
  };

  return <button onClick={increment}>点击计数(不触发渲染)</button>;
}

适合存储定时器ID、上一次渲染状态等。

React中useRef如何用

与useState的区别

  • useState:状态变化会触发组件重新渲染。
  • useRef:修改current属性不会触发渲染,适合存储不影响UI的数据。

避免滥用场景

useRef不应替代状态管理。若数据变化需反映到UI,仍需使用useStateuseReducer

标签: 如何用React
分享给朋友:

相关文章

如何用记事本写java

如何用记事本写java

使用记事本编写Java代码的方法 安装Java开发工具包(JDK)并配置环境变量。确保在命令行输入java -version和javac -version能正确显示版本信息。 创建一个新文本文件,将…

如何用java编程

如何用java编程

Java编程基础指南 环境配置 安装Java开发工具包(JDK),推荐使用最新版本。配置环境变量,确保JAVA_HOME指向JDK安装路径,并将bin目录添加到系统PATH中。验证安装是否成功: j…

react如何用jq

react如何用jq

在React中使用jQuery React和jQuery可以一起使用,但需要注意两者的DOM操作方式不同。React使用虚拟DOM,而jQuery直接操作真实DOM。混合使用时需谨慎避免冲突。 安装…

如何用react写页面

如何用react写页面

创建React项目 使用create-react-app快速初始化项目,需提前安装Node.js环境。运行命令: npx create-react-app my-app cd my-app npm…

如何用react构建单页面

如何用react构建单页面

使用React构建单页面应用(SPA)的步骤 安装Node.js和npm 确保系统已安装Node.js(包含npm)。可通过命令行输入node -v和npm -v验证版本。推荐使用LTS版本。 创建…

react如何用at.js

react如何用at.js

使用 AT.js 在 React 中实现 A/B 测试或个性化 AT.js 是 Adobe Target 提供的一个 JavaScript 库,用于在网页上实现 A/B 测试、个性化内容和体验。在 R…