React 直接操作 DOM

React 直接操作 DOM

一般而言,我们在 React 中使用虚拟 DOM 来操作 DOM,但是有些时候,我们需要直接操作 DOM。在 React 中,我们可以使用 useRef 这个 Hook 函数来获取 DOM 元素。分为以下两个步骤:

  1. 在组件中定义一个 ref,并通过 useRef Hook 创建一个 ref 对象,并将其赋值给组件的 ref 属性。
  2. 在组件中通过 ref.current 访问 ref 对象,获取 DOM 元素。
    以下是一个简单的例子,展示如何在 React 中直接操作 DOM:
js 复制代码
import { useRef } from 'react';

function App() {
  // 创建一个 ref 对象
  const inputRef = useRef(null);
  return (
    <div>
      {/* 绑定一个 ref 到 input 组件 */}
      <input ref={inputRef} />
      <button
        onClick={() => {
          // 通过 ref 对象获取输入框组件
          console.log(inputRef.current);
          console.dir(inputRef.current);
        }}
      >
        聚焦输入框
      </button>
    </div>
  );
}

export default App;

这个例子中,我们首先使用 useRef Hook 创建了一个名为 inputRef 的 ref 对象,并将其赋值给组件的 ref 属性。然后,在组件中,我们通过 ref.current 访问该 ref 对象,获取到 DOM 元素。最后,我们通过 ref.current 就可以获取到 DOM 元素。

需要注意的是,在 DOM 可用时,我们才能够使用 ref.current 访问 DOM 元素。因此,在组件渲染之前,我们无法获取到 DOM 元素。

相关推荐
林古6 分钟前
我在 WSL 里控制 Windows Chrome 的一次实战复盘(OpenClaw)
前端
想不到一个好的ID25 分钟前
Claude Code 初学者必看指南
前端·后端
一枚菜鸟_27 分钟前
04-Flutter状态管理终极指南-Riverpod3.x从入门到精通
前端
一枚菜鸟_30 分钟前
06-Flutter动画从零到炫酷-让你的App动起来
前端
Wect33 分钟前
React Hooks 核心原理
前端·算法·typescript
shughui37 分钟前
Fiddler下载、安装、使用、汉化,详细图文教程(2026附安装包)
前端·测试工具·fiddler
用户158159637437038 分钟前
多 Agent 系统容错与恢复机制:OAuth 过期、Cron 级联失败的工程解法
javascript
阿帕琪尔40 分钟前
😎vite插件: 自动打包压缩图片和转webp(二)
前端·vite
敲代码的约德尔人42 分钟前
React Compiler 完全指南:2026 年自动性能优化的革命
react.js
思慕很大很大1 小时前
浏览器基础知识-进程与线程
前端·浏览器