我有一个使用Form
道具的零件{ data: ?RecordType, onSave: RecordType => void}
。
我想将其包装在一个HOC中,该HOC将接受一个额外的道具{id: string}
并将一个道具data
注入包装的组件中。
我将如何键入此类组件?
export function withOneDetails<
RecordType: {},
DefaultProps: {},
ReceivedProps: { id: string },
AddedProps: { data: ?RecordType },
InnerProps: DefaultProps & AddedProps,
OuterProps: DefaultProps & ReceivedProps
>(
Comp: React.ComponentType<InnerProps>
): React.ComponentType<OuterProps> {
return props => {
... call api
return (
<Comp {...props} data={data} />
);
}
}
const EditForm = withOneDetails(Form);
const b = () => <Form />
const a = () => <EditForm />
在最后一行(const a
)上,我想收到未提供id
和onSave
的流错误。但是我没有错误。
const b
正确显示有关data
和onSave
丢失的错误。