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

React+TypeScript项目报错Cannot read properties of undefined (reading 'render')

问题原因与解决方案

问题根源

你的tsconfig.json缺少两项兼容CommonJS模块导入的配置,导致TypeScript编译后无法正确拿到react-dom的导出对象:

  • TypeScript默认不会对CommonJS模块的默认导入做语法兼容,你使用import ReactDom from 'react-dom'语法导入CJS格式的react-dom包时,实际拿到的是undefined,调用undefined.render就会触发你遇到的报错
  • JSX文件走Babel编译时默认开启了兼容处理,所以换成JSX入口可以正常运行

解决方案

推荐使用配置兼容的方案,无需修改业务代码:
在你的tsconfig.json的compilerOptions字段中新增两个配置项:

{
    "compilerOptions": {
        "target": "ESNext",
        "module": "commonjs",
        "resolveJsonModule": true,
        "jsx": "react",
        "esModuleInterop": true,
        "allowSyntheticDefaultImports": true
    }
}

修改完成后重启开发服务即可恢复正常。

如果不想修改配置,也可以直接调整导入语法:

// 将默认导入改为命名空间导入即可
import * as React from 'react';
import * as ReactDom from 'react-dom';

内容的提问来源于stack exchange,提问作者Magdi Gamal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:27:04