设置React子打字稿定义会破坏父道具的类型检查

时间:2019-05-28 09:05:37

标签: reactjs typescript

我正在尝试弄清楚为什么为React / JSX组件设置子代道具会破坏父代组件的类型检查。

简单的代码示例如下所示,如果我未定义子类型,则顶部Test不会在someOtherProp上显示错误,如果我定义了子道具,则第二个Test组件将无法显示someOtherProp上出现错误,如果我将子级设置为可选,则在两个组件上均失败。

import React from 'react';

export interface TestProps {
  style: {
    flex?: number;
  };
  children: React.ReactNode;
}

const Test = ({ style }: TestProps) => <div style={style} />;

export const MainTest = () => (
  <>
    <Test style={{ flex: 1, someOtherProp: 'center' }} />;
    <Test style={{ flex: 1, someOtherProp: 'center' }}>
      <p>Children Breaks TypeChecking</p>
    </Test>
  </>
);

1 个答案:

答案 0 :(得分:0)

这似乎已经解决,从打字稿版本3.4.5升级到3.5.1。