ts写法这种有没有更优解呢?

对象动态key约束动态值类型
image.png

阅读 2.2k
1 个回答

大概就是这样,ts可以自动推导出来,传入key后自动校验对应的value类型

interface ISettingsState { 
  theme: string; 
  tagsView: boolean
}

interface ISettings<K extends keyof ISettingsState> {
  key: K
  value: ISettingsState[K]
}

function setValue<K extends keyof ISettingsState>({key, value}: ISettings<K>) {

}

setValue({key: 'tagsView', value: false})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题