如何将Flow类型与Ant Design表单集成在一起?

时间:2018-07-06 17:41:36

标签: reactjs flowtype antd

我正在使用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),但没有用。

1 个答案:

答案 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'

有人找到比这个更好的解决方案了吗?