React 16.3.1编写类组件时出现expected ';'报错咨询
报错核心原因
- JavaScript 语法是严格大小写敏感的,ES6 用于声明类的原生保留关键字是小写开头的
class,原代码中误将该关键字写为大写开头的Class,属于拼写错误。 - 解析器在识别代码时,遇到大写的
Class会将其判定为一个普通的自定义标识符,默认以为此处正在进行变量声明,在期待语句结束分号时,紧接着遇到了后续的Welcome标识符,无法匹配原有语法规则,因此抛出expected ';'的编译报错。 - 其余代码内容完全符合 React 16.3.1 的类组件编写规范,不存在版本不兼容的问题。
对应解决方法
将大写开头的Class修改为小写的class即可修复语法错误,修正后的可正常编译运行的完整代码如下:
import React,{Component} from 'react'; class Welcome extends Component{ render() { return <h2>Class component</h2>; } } export default Welcome
同类问题排查提示
遇到这类提示expected ';'的纯语法编译报错时,可优先从以下维度排查:
- 检查语言关键字的拼写大小写是否正确,避免将保留字写错大小写
- 检查上一行代码是否遗漏了分号、括号等基础标点
- 转译配置是否支持当前使用的ES6语法
内容的提问来源于stack exchange,提问作者Manisha Nakawe
相关产品推荐
相关产品推荐

