React Typescript强制道具中的空数组的编译时错误

时间:2018-05-15 14:52:46

标签: reactjs typescript

这是我的组件:

tabs: ITabContent[] & !never[]

我想强制我的道具中的标签不是空的,最好是我想要一个编译时错误。

我知道你可以做一些像" OR"在typescript中使用类型推断:

boolean =" false" | "真"

但我似乎无法找到正确输入标签的方法。例如,我尝试过类似的东西:

{{1}}

但这显然无法编译。是否有等效的操作符"&"我不知道的?

1 个答案:

答案 0 :(得分:1)

非空数组可以强制使用:

interface ITabContentArray extends Array<ITabContent> {
  0: ITabContent;
  [n: number]: ITabContent;
}

interface ITabProps extends IBaseComponentProps {
  tabs: ITabContentArray;
}

或者:

interface ITabProps extends IBaseComponentProps {
  tabs: ITabContent[] & { 0: ITabContent };
}