首页 > 解决方案 > 在打字稿中创建动态对象

问题描述

我正在使用带有 typescript 的 ReactJs,我需要创建一个动态对象接口,例如:

language: {name: string}

但我需要语言键是动态的。例如:我需要能够将如下所示的对象添加到状态

en_us: {name: english}

标签: javascriptreactjstypescriptobject

解决方案


您可以使用方括号将对象键定义为[name: type]

type language = {
  [langCode: string]: { // this allows you to use any string as key
    name: string
  }
}

const languages: language[] = [
  { en_us: { name: "english" } },
  { pt_br: { name: "brazilian-portuguese"} }
]

推荐阅读