reactjs 更新@types/jest后出现类型脚本错误

iyfjxgzm  于 2023-03-12  发布在  React
关注(0)|答案(1)|浏览(114)

我最近更新了我项目中的@types/jest包,从版本24.9.1升级到版本29.4.0。但是,我现在在包本身的index.d.ts文件中遇到了一个解析错误,该文件位于node_modules/@types/jest目录中。错误消息是Parsing error: ']' expected

我不确定这个问题是否是由我的TypeScript版本(3.8.3)引起的,因为当我使用相同的TypeScript版本在不同的项目上尝试相同的更新时,它工作得很好。

imzjd6km

imzjd6km1#

以下类型定义在您的版本(3.8.3)中已损坏,因为TypeScript 4.1中引入了此新的keyof-as语法。

type Func = Function;
type NonFunctionPropertyNames<T> = keyof { [K in keyof T as T[K] extends Func ? never : K]: T[K] };

参见:"TypeScript keyof returning specific type"
您需要将TypeScript编译器升级到版本≥ 4.1。

测试用例

在版本3.8.3中损坏
https://www.typescriptlang.org/play?ts=3.8.3#code/C4TwDgpgBAYgrgOwMZQLy0U4BLA9ggbgChRIoA5feZHfABQCddIHRyBDAWwgGcAeACoA+NFADWEELgBmUAN5QA2gGko2BOMkyoAqOx46VAXSgQAHsAgIAJgeooA-FAQQAbhAZQAXFGVGfAsZQAL4EQA
适用于≥ 4.1版本
https://www.typescriptlang.org/play?ts=4.1.5#code/C4TwDgpgBAYgrgOwMZQLy0U4BLA9ggbgChRIoA5feZHfABQCddIHRyBDAWwgGcAeACoA+NFADWEELgBmUAN5QA2gGko2BOMkyoAqOx46VAXSgQAHsAgIAJgeooA-FAQQAbhAZQAXFGVGfAsZQAL4EQA

相关问题