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

TS报错Property 'render' does not exist on type 'typeof React'.ts(2339)如何解决?

报错触发原因
  • 导入路径错误:render方法是react-dom包的专属导出,你代码中错误地从react包导入ReactDOM对象,而react包本身不存在render属性,TypeScript类型校验失败后抛出2339错误。
  • 版本适配问题:如果你的项目使用React 18+版本,即使正确导入react-dom,旧版ReactDOM.renderAPI已经被官方废弃移除,同样会触发类型报错。
修复方案

根据你项目使用的React版本选择对应修复方式即可:

React 17及更早版本

直接修正react-dom的导入语句,必要时补充安装类型声明包:

  1. 调整导入代码:
// 把错误的import ReactDOM from "react"替换为下面的导入
import ReactDOM from "react-dom"
  1. 若仍报错,执行命令安装类型声明:
npm i @types/react @types/react-dom -D

修正后完整运行代码如下:

import React from "react";
import ReactDOM from "react-dom";
import App from "./App"; // 提前确保App组件路径正确

ReactDOM.render(<App />, document.getElementById("root"));

React 18及以上版本

React 18废弃了原有的render方法,改用createRootAPI创建根节点实例再调用渲染,调整代码如下:

import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App'

// 非空断言!用于告知TS root节点一定存在,可自行替换为你需要的空值判断逻辑
ReactDOM.createRoot(document.getElementById('root')!).render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
)

内容的提问来源于stack exchange,提问作者Willy Huang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:27:03