使用React.createElement创建非JSX元素时提示'React'未定义如何解决
报错原因
- 你调用了
React.createElement方法但未在当前文件引入React模块:React 17+的JSX自动转换仅支持编译JSX语法时不需要手动引入React,直接调用React对象下的API时仍然需要显式导入。 - 另一个index.js语法错误是该文件第11行附近存在语法问题,大概率是符号遗漏、括号/标签未闭合、多余字符导致的。
解决方法
- 在App.js文件顶部添加React导入语句,修正后的完整App.js代码如下:
import React from 'react'; import logo from './logo.svg'; import './App.css'; const app = React.createElement("h1", null, "Without JSX"); function App() { return ( <div className="App"> {app} </div> ); } export default App;
注:原代码中{app};多余的分号也同步移除,避免JSX解析异常。
2. 打开src目录下的index.js文件,定位到第11行位置,排查语法错误后重新编译即可。
内容的提问来源于stack exchange,提问作者Umar Farooq
相关产品推荐
相关产品推荐

