与Typescript default进行反应支持对象数组

时间:2018-09-24 13:48:22

标签: reactjs typescript react-native

我正在尝试为对象prop数组的某些字段设置defaultProps。

interface IProps {
  steps: Array<{
    id: number | string
    route?: string
    label?: string
    completed?: boolean
    disabled?: boolean
    active?: boolean
  }>
}


class Stepper extends React.Component<IProps, {}> {
  static defaultProps: IProps = {
    steps: ???
  }
  render() {
    return <div></div>
  }
}

我试图在线查找,但找不到为我的案例设置defaultProps的方法。

我只想为completeddisabledactive设置一些默认值,而其余设置保持不变。

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:2)

我将提取接口IStep,并将其拆分为IntExprInt之一:

partial

因此,现在使用两个组件是合乎逻辑的:步骤列表(complete)和步骤项目(interface IPartialStep { completed?: boolean disabled?: boolean active?: boolean } interface IStep extends IPartialStep { id: number | string route?: string label?: string }; ):

Stepper

希望有帮助。