我们尝试在 React 项目中从 JS 迁移到 TS,我们有很多混合连接 -> TS 组件的 Js 组件父级,反之亦然。当 TS 是 JS 的父级时,我遇到了一些问题。我的情况(父母是 tsx,孩子是 js):
interface Props {
id: String;
props: Object;
}
const Parent: React.FC<Props> = ({ id, ...props }) => {
const [isDetailEdit, detailEditControls] = useBooleanControls(false);
return <Child id={id} onEditCancel={detailEditControls.setFalse}
};
export default Parent;
系统抛出异常记录:
Type '{ props: Object; children?: ReactNode; selected: String; onEditCancel: any; }' is missing the following properties from type '{ id: any; onEditCancel: any; state: any; setState: any; }': state, setState TS2739
子组件有输入 props 参数:id、onEditCancel、state、setState。
我是否正确地认为子组件必须是 tsx 并具有用于输入道具参数的适当接口?或者有什么方法可以连接Parent.tsx和Child.js?