为数组创建自定义类型

时间:2019-05-07 01:07:54

标签: typescript

我在Redux上使用Typescript,并且想为初始状态添加一个类型。

我看到的示例假定初始状态是键值对,例如:

const INITIAL_STATE: State = {
    id: '1',
    firstName: 'Michael',
    lastName: 'Black',
  }

其中类型定义为

export interface State {
  id: string
  firstName: string
  lastName: string
}

如果类型定义为

const INITIAL_STATE: State = [
  {
    id: '1',
    firstName: 'Michael',
    lastName: 'Black',
  },
  {
    id: '2',
    firstName: 'Tony',
    lastName: 'Montana',
  }
]

类型定义的外观如何?我确实尝试寻找答案,因为它看起来应该很简单,但却找不到任何东西...

编辑:

我想我能做

const INITIAL_STATE: Array<State> = [
  {
    id: '1',
    firstName: 'Michael',
    lastName: 'Black',
  },
  {
    id: '2',
    firstName: 'Tony',
    lastName: 'Montana',
  }
]

但是如果我想要一个新的定义CustomerState怎么办?

类似

export interface CustomerState Array<State>

这当然是语法错误。

1 个答案:

答案 0 :(得分:2)

  

导出接口CustomerState数组

我会

export interface Person {
  id: string
  firstName: string
  lastName: string
}
export type State = Person[];
const INITIAL_STATE: State = [
  {
    id: '1',
    firstName: 'Michael',
    lastName: 'Black',
  },
  {
    id: '2',
    firstName: 'Tony',
    lastName: 'Montana',
  }
]