You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在React函数组件中调用ReactDOM.findDOMNode返回NULL问题求助

问题原因
  • ReactDOM.findDOMNode仅支持传入类组件实例作为参数,你当前编写的是函数组件,函数组件不存在组件实例,函数作用域内的this在严格模式下为undefined,传入无效参数自然返回NULL。
  • 额外说明:ReactDOM.findDOMNode已被官方标记为废弃API,在React 18+的严格模式下会直接抛出警告,不建议继续使用。
解决方案

推荐使用useRef Hook直接绑定目标DOM元素,示例代码如下:

import { useRef, useEffect } from 'react';

export default function Component(props) {
  // 声明ref用来绑定DOM元素
  const componentRef = useRef(null);

  useEffect(() => {
    // 直接访问ref.current即可拿到对应的DOM元素
    const node = componentRef.current;
    console.log(node); // 正确输出对应DOM元素
  }, []); 

  // 给组件根元素绑定ref
  return <div ref={componentRef}>
    {/* 组件其他内容 */}
  </div>
}
  • 如果需要获取子组件的DOM元素,可配合forwardRef做ref透传即可。

内容的提问来源于stack exchange,提问作者gene b.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 12:36:04