当前位置:首页 > 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
分享给朋友:

相关文章

如何用VUE实现倍速

如何用VUE实现倍速

使用Vue实现视频倍速播放 在Vue中实现视频倍速播放可以通过HTML5的<video>元素和Vue的数据绑定功能来完成。以下是实现方法: 安装Vue 确保项目中已经安装Vue。如果没有…

react hooks如何用

react hooks如何用

使用 React Hooks 的基本方法 React Hooks 是 React 16.8 引入的功能,允许在函数组件中使用状态和其他 React 特性。以下是几种常用 Hooks 的用法。 use…

React中如何引入koa

React中如何引入koa

React 中引入 Koa 的方法 React 是前端框架,而 Koa 是 Node.js 的后端框架。通常两者结合使用时,React 作为前端应用运行在浏览器中,Koa 作为后端服务提供 API 接…

如何用react做分页

如何用react做分页

使用 React 实现分页功能 分页是 Web 开发中常见的需求,React 可以通过状态管理和组件化轻松实现分页功能。以下是实现分页的几种方法。 基础分页实现 定义状态 使用 useState…

React的isMounted如何使用

React的isMounted如何使用

isMounted的使用方法 React的isMounted方法曾用于检查组件是否已挂载到DOM中,但该方法已被弃用。官方推荐使用其他方式替代。 替代方案 使用useRef和useEffect组合实…

如何用react构建用户界面

如何用react构建用户界面

安装 React 环境 使用 Create React App 快速搭建项目环境,运行以下命令: npx create-react-app my-app cd my-app npm start…