我有一个枚举,我需要使用枚举作为键和对象作为值来为状态定义接口: 如何描述枚举的键类型
export enum Language {
CS,
EN
}
const [userInput, setUserInput] = useState<IUserInput>({
[Language.EN]: {
title: '',
price: '',
additional_info: '',
content: ''
},
interface IUserInput {
// ?
}
答案 0 :(得分:1)
您可以使用计算属性语法:
interface IUserInput {
[Language.EN]: {
title: string,
price: string,
additional_info: string,
content: string
},
}
或者,如果要映射枚举中的所有键,则可以使用Record
映射类型
type IUserInput = Record<Language, {
title: string,
price: string,
additional_info: string,
content: string
}>