前端/移动开发面试题更新 2026-08-05

请阐述 React 中 refs 的用途,并列举其典型的使用场景。

前端/移动开发技术原理方案权衡React

考察说明

考查对 React refs 机制的理解及其在实践中的应用。

回答思路

  1. 【回答框架 1】refs 是 React 提供的用于访问 DOM 节点或组件实例的机制,其核心价值是绕开常规的 props 数据流,在必要时直接操作底层元素或组件方法。
  2. 【回答框架 2】主要应用场景包括:管理焦点、文本选择或媒体播放,触发强制动画,集成第三方 DOM 库,以及获取组件实例以调用其内部方法。
  3. 【回答框架 3】现代 React 主要使用 useRef 创建 ref 对象,并通过 ref 属性挂载到元素或组件上;旧版本也支持回调 ref 和 string ref(后者已不推荐)。
  4. 【回答框架 4】使用 refs 时需注意:避免过度依赖 refs 进行声明式 UI 可处理的交互,因为 React 提倡数据驱动视图,而 refs 更适合命令式操作。
  5. 【关键点 1】refs 用于访问 DOM 节点或组件实例,是命令式操作的通道。
  6. 【关键点 2】常见场景:管理焦点、媒体控制、集成第三方库、触发动画。
  7. 【关键点 3】在函数组件中优先使用 useRef,类组件可使用 createRef 或回调 ref。
  8. 【关键点 4】应避免用 refs 代替声明式状态管理。
  9. 【易错点 1】不要将 refs 用于频繁的 DOM 操作,以免破坏 React 的渲染性能优化。
  10. 【易错点 2】函数组件默认不能通过 ref 获取到实例,除非使用 forwardRef 结合 useImperativeHandle。