【发布时间】:2018-12-27 05:31:41
【问题描述】:
我正在为一个为我们提供 HOC 的库编写一个库定义。 HOC 的实现如下所示:
const withValidation = TargetComponent => class extends React.Component {
onSubmit: () => { ... }
getFormData: () => { ... }
getErrors: () => { ... }
setField: diff => { ... }
resetState: () => { ... }
render () { return <TargetComponent ... /> }
}
我想编写一个库定义,指定返回的组件 从 HOC 具有上面列出的实例方法。由于该组件的工作方式,它是通过 ref 访问的,我希望这些组件出现在此处。
我已经尝试为返回的组件编写一个 libdef - 这是其中的相关部分:
declare class WithValidation<FormConfig> extends React$Component {
onSubmit: () => boolean;
getFormData: () => {
[key: string]: string,
};
setField: (diff: {}) => void;
getErrors: () => { [key: string]: string | null };
resetState: () => void;
}
这给了我一些错误,表明我的包装组件是不是 React 组件。显然我在指定类的方式上做错了——但我不知道应该写什么。
任何帮助将不胜感激!
【问题讨论】:
标签: javascript reactjs flowtype static-typing flow-typed