我正在使用Ant Design的Form作为组件FormComponent
的包装。但是,这种包装使Flow的检查无效,因为我总是将所需的道具传递给FormComponent
。
import { Form } from "antd"
type Props = {|
userID: string,
form: Form,
|};
class FormComponent extends Component<Props> {
...
}
export default Form.create()(FormComponent);
通常,如果我要在另一个文件中调用<FormComponent />
而不传递任何道具,则Flow会引发错误。但是,似乎Form.create()
包装会阻止此错误检查。我该如何找回?我尝试了Form.create<Props>()(FormComponent)
,但没有用。
答案 0 :(得分:1)
我正在这样做,并且很正常:
$ENV{foobar}
让我发疯的唯一原因是import type { FormProps } from 'antd';
import { Form } from 'antd';
type OwnProps = {|
userID: string,
|};
type Props = OwnProps & FormProps;
class FormComponent extends Component<Props> {
...
}
export default Form.create()(FormComponent);
道具在form
中是可选的,流程要我在访问FormProps
之类之前先检查一下typeof this.props.form !== 'undefined'
。
有人找到比这个更好的解决方案了吗?