antd pro v4 umi connect

// eslint-disable-next-line no-lone-blocks
{/*
  // 相关知识 结构赋值语法
  // https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#%E5%9F%BA%E6%9C%AC%E8%B5%8B%E5%80%BC
  // var o = {p: 42, q: true};
  // var {p, q} = o;
  //
  // console.log(p); // 42
  // console.log(q); // true

 // 最原始的写法应该是这样的,!!!!!最完整的版本这么写
const mapStateToProps = (state) => {

  // 从全局解构赋值出以下两个作用域的state
  const {outpatientRegister, loading} = state
  // 通过以下返回就能在props中获得errorsList和submitting两个参数,给组件使用
  // 其中outpatientRegister是我们自己写的作用域下的state位于当前路径下的model.js中,其中的namespace就是我们所使用的 outpatientRegister
  // 这个地方是固定用法,要想再model中state能传递给props,就必须把作用域名.state属性赋值给 props中希望获得属性名。如本例的errorsList
  return {
    errorsList: outpatientRegister.errorsObj, // 这个地方如果outpatientRegister作用域下的errorsObj改名为errorsList,则还可以触发解构赋值,那就可以简写为 {}
    submitting: loading.effects['outpatientRegister/submitRegisterForm']
  }
}

export default connect(mapStateToProps)(BasicForm);

*/}

// eslint-disable-next-line no-lone-blocks
{/*
  // !!!对完整版本进行简化。   进行简写的话,直接把mapStateToProps这个函数省略,直接把函数写为如下代码
  export default connect((state) => {
  const {outpatientRegister, loading} = state
  return {
    errorsList: outpatientRegister.errorsObj,
    submitting: loading.effects['outpatientRegister/submitRegisterForm']
  }
})(BasicForm);
 // !!!!再简化          又因为在此出只用到{outpatientRegister, loading}两个作用域下的state
 // 所有参数中的state也省略掉,直接结构赋值,则又如下代码
 export default connect(({outpatientRegister, loading}) => {
  return {
    errorsList: outpatientRegister.errorsObj,
    submitting: loading.effects['outpatientRegister/submitRegisterForm']
  }
})(BasicForm);
// !!!!!!!!!!!!!再简化
  //又由于只返回了一个对象,相当于只有一句,则可以省略return和{} 写为如下写法
// 之所以要在返回的对象外面加小括号是因为如果直接写{}会被当作是语句块的括号,所以必须写()
export default connect(({outpatientRegister, loading}) => ({
    errorsList: outpatientRegister.errorsObj,
    submitting: loading.effects['outpatientRegister/submitRegisterForm']
  })
  )(BasicForm);
*/}

// 简写版本
export default connect(({outpatientRegister, loading}) => ({
    errorsList: outpatientRegister.errorsObj,
    submitting: loading.effects['outpatientRegister/submitRegisterForm'],
  })
)(BasicForm);

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值