为了账号安全,请及时绑定邮箱和手机立即绑定

React-Redux shallowEqual方法是不是错了?

React-Redux shallowEqual方法是不是错了?

一只斗牛犬 2018-10-19 11:10:50
React Redux源码中(5.0.1),shallowEqual.js文件的代码看着很奇怪,是不是代码错误?还是我理解错误?const hasOwn = Object.prototype.hasOwnPropertyexport default function shallowEqual(a, b) {  if (a === b) return true   let countA = 0   let countB = 0      for (let key in a) {    if (hasOwn.call(a, key) && a[key] !== b[key]) return false     countA++ // 这里是不是应该检查ownProperty以后,再增加?   }  for (let key in b) {    if (hasOwn.call(b, key)) countB++   }  return countA === countB }疑问点看代码里面的注释,这样子会造成有从原型继承的属性是,永远是falseObject.prototype.bar = "bar";var a = { foo: 1 }; var b = { foo: 1 }; shallowEqual(a, b); // 永远是fales求解
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 577 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号