js 中定义 dictionary 的 typescript 类型

笔记

  • 翻到以前写的一段代码, 其中变量类型定义为 any, 感觉不妥。
  let initState: any = {}
  for (var name in model) {
        initState[name] = {
              name: name,
              value: model[name],
              errorMessage: '',
              ref: useRef(null)
        }
  }
  • 翻查了一下资料(其实就是百度) , 发现原来这种 dictionary 写法可以定义成 { [index: string]: type } 类型
  export interface InputPropType {
   
        name: string
   
        value: any
   
        errorMessage: string
   
        ref: any
  }

  let initState: { [index: string]: InputPropType } = {}

  for (var name in model) {
        initState[name] = {
              name: name,
              value: model[name],
              errorMessage: '',
              ref: useRef(null)
        }
  }

定义好对象后, 第三方项目使用的时候, 编辑器就会有友好提醒拉。

posted on 2022-07-14 10:49  爱上键盘的蜗牛  阅读(112)  评论(0编辑  收藏  举报

导航