如何修复Codesandbox.io中Create React App的_interopRequireDefault非函数TypeError?
TypeError: _interopRequireDefault is not a function 修复方案 - 修正ReactDOM导入逻辑,消除模块转译兼容异常
原有触发报错的导入写法import ReactDOM from "react-dom";无法匹配当前环境的模块导出结构,分场景替换即可:- 搭配React 18+版本使用时,替换导入为:
import * as ReactDOM from "react-dom/client";
同步替换旧的渲染逻辑:const root = ReactDOM.createRoot(document.getElementById("root")); root.render(<App />); - 沿用React 17版本渲染逻辑时,替换导入为:
import * as ReactDOM from "react-dom";
原有ReactDOM.render(<App />, document.getElementById("root"))代码无需调整即可正常运行。
- 搭配React 18+版本使用时,替换导入为:
- 重置CodeSandbox沙箱编译缓存
修改导入代码后如果仍触发报错,执行以下操作:- 打开编辑器顶部的服务控制面板
- 选择「重启沙箱」旁的下拉选项,点击「清除缓存并重启沙箱」,等待依赖重装、编译完成后重新运行项目。
- 对齐React相关依赖版本
打开项目的package.json配置文件,确保react和react-dom两个依赖的版本号完全一致,杜绝跨大版本错配(例如react为18.x版本但react-dom为17.x版本的情况),调整完成后等待沙箱自动重装依赖即可。
内容的提问来源于stack exchange,提问作者ln09nv2
相关产品推荐
相关产品推荐

