怎么理解ant里的这个写法

const NewModal = Form.create()(
    (props) => {
        const {
            visible,
            onCancel,
            onCreate,
            form,
        } = props;
    }
);


第一处的props和第二处的props有什么区别?怎么去理解Form.create()这个写法和用 = =
   

官方的用法是:

class CustomizedForm extends React.Component {}

CustomizedForm = Form.create({})(CustomizedForm);

阅读 3.1k
4 个回答

Form.create()返回的是一个function,两个props是同一个东西,这是ES6的解构赋值

const NewModal = Form.create()(function (props) {
  const visible = props.visible,
      onCancel = props.onCancel,
      onCreate = props.onCreate,
      form = props.form;
});

第一个props是箭头函数的形参;第二个props是结构赋值的写法,两者是一样的。

关于props,这里用到了ES6的解构赋值,上面二位解释得很清楚,ant里面的Form.create()可以理解为React高阶组件,Form.create({})(CustomizedForm)CustomizedForm提供了注入了一些额外的方法,使用

(props) => {
        const {
            visible,
            onCancel,
            onCreate,
            form,
        } = props;

说实话没有使用过,但是我觉得可能是为了方便给你自己写的CustomizedForm传入自定义的props

react-redux 的 connect。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题