我正在尝试弄清楚为什么为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>
</>
);
答案 0 :(得分:0)
这似乎已经解决,从打字稿版本3.4.5升级到3.5.1。