请求协助解决TypeScript TS1110类型预期错误
解决TypeScript TS1110错误:
@react-types/table中类型语法不兼容 错误原因
报错代码export type ColumnStaticSize = number | ${number}|${number}%;使用了模板字面量类型,这是TypeScript 4.1版本才正式引入的语法特性。而你当前项目依赖的TypeScript版本是3.8.3,完全不支持该语法,因此编译器无法识别${number}的写法,抛出TS1110: Type expected错误。
解决方案
方案一:升级TypeScript版本(推荐)
@adobe/react-spectrum v3.24.1的类型定义已经依赖TS 4.1+特性,升级TS是最彻底的解决方式:
- 安装兼容的TypeScript版本(建议选择4.9.x系列,兼顾稳定性和特性支持):
yarn add typescript@^4.9.5 --dev
或使用npm:
npm install typescript@^4.9.5 --save-dev
- 验证版本:
tsc --version
确认输出版本号为4.1及以上。
3. 重启项目:
yarn start
方案二:降级@adobe/react-spectrum版本(临时应急)
如果暂时无法升级TS,可以降级到不使用模板字面量类型的旧版本,比如v3.18.x:
yarn add @adobe/react-spectrum@^3.18.0
注意:此方案会错过后续版本的功能更新和Bug修复,仅作为临时过渡方案。
额外验证
检查tsconfig.json的compilerOptions.lib配置,确保包含esnext(你的现有配置已满足此要求,无需修改)。
内容的提问来源于stack exchange,提问作者jonathasborges1
相关产品推荐
相关产品推荐

