当前位置:首页 > React

React中useRef如何用

2026-03-10 22:42:59React

useRef的基本概念

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

获取DOM元素的引用

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

React中useRef如何用

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节点。

React中useRef如何用

存储可变值

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

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

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

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

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

与useState的区别

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

避免滥用场景

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

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

相关文章

如何用react做增删

如何用react做增删

使用React实现增删功能 在React中实现增删功能通常涉及状态管理和列表渲染。以下是一个完整的实现方案: 初始化状态 需要定义一个状态来存储列表数据,可以使用useState钩子: c…

如何用vscode 启动react项目

如何用vscode 启动react项目

安装必要工具 确保已安装Node.js(包含npm或yarn),可在终端运行node -v和npm -v检查版本。未安装需从Node.js官网下载。 创建React项目 打开VSCode终端(快捷键…

React如何访问子组件dom

React如何访问子组件dom

使用 ref 和 React.forwardRef 父组件通过 ref 直接访问子组件的 DOM 节点。子组件需要使用 React.forwardRef 将 ref 转发到内部的 DOM 元素。…

如何用ts重构react项目

如何用ts重构react项目

使用 TypeScript 重构 React 项目的步骤 安装 TypeScript 及相关依赖 在项目中安装 TypeScript 和 React 的类型定义文件: npm install -…

后端路由框架里react如何用

后端路由框架里react如何用

React 后端路由框架使用指南 React 本身是一个前端库,通常与后端路由框架(如 Express、Koa 或 Next.js)结合使用。以下是几种常见场景下的使用方法: 使用 Express…

react中如何用回车事件

react中如何用回车事件

在React中处理回车事件 在React中,可以通过监听键盘事件来捕获回车键(Enter key)的按下动作。以下是几种常见场景的实现方法: 监听输入框的回车事件 在输入框中按下回车时触发特定操作(…