Typescript React只为孩子接受一个html元素

时间:2019-02-14 16:40:32

标签: javascript reactjs typescript

我正在尝试使children仅支持一种类型的jsx元素。例如,我具有以下结构

<Test>
  <img src="..." />
  <div>Testing</div>
</Test>

我想检查children并确保首先img,然后是any元素,这意味着如果我不以img开头交换元素,它应该给我一个类型检查错误。

我尝试创建一个界面,例如:

interface ITest {
  children: [
    React.DetailedHTMLProps<
      React.ImgHTMLAttributes<HTMLImageElement>,
      HTMLImageElement
    >,
    React.ReactElement<HTMLDivElement>
  ];
}

但是我没有收到任何类型检查错误,它接受<img><div><div><img>和任何其他组件<Something><img>

有什么主意吗?

0 个答案:

没有答案