gpt4 book ai didi

typescript - 编译时未定义的 TypeScript 枚举

转载 作者:搜寻专家 更新时间:2023-10-30 21:56:38 24 4
gpt4 key购买 nike

我在 types.ts 中定义了一个枚举:

export enum Handedness {
Left,
Right,
Both,
}

export type State = {
count: number
handedness: Handedness
}

我在 state.ts 中初始化了一个对象:

import { State, Handedness } from './types'

export const initial: State = {
count: 0,
handedness: Handedness.Both
}

当我为此项目运行测试(通过 jest)时,state.ts 生成错误 TypeError: Cannot read property 'Both' of undefined,告诉我 Handedness 在被引用时没有定义。但是我在使用它之前从它的模块导出它并导入它...所以它应该被定义。

我发现其他类似的问题询问未定义的枚举,但他们似乎都在询问运行时。据我所知,这是一个编译时问题。

我不明白我会在这里做错什么。我在其他地方导入其他类型没有问题。但是这个枚举根本不想工作。这是怎么回事,我该如何解决?

最佳答案

好吧,这不是让它工作的方法,但是 this GitHub PR解释 ts-jest 将不支持像这样工作的枚举。我已将所有用途更改为(例如)("both"as Handedness) 并且它有效。所以,这不是一种解释,而是一种解决方法。

关于typescript - 编译时未定义的 TypeScript 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54310718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com