请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

深层次对比

既然state是个纯粹的存数据的对象,也就涉及不到原型链的概念,为什么还要用那么深层次的对比,不用JSON.stringify进行两个state转成成字符串后在对比呢?是这种性能比第三节说的递归对比还差么?

正在回答

1回答

hi

stringfy大部分情况都可以用来判断对象,但是有些情况会判断失误,比如对象的顺序

JSON.stringify({b:2,a:1}) === JSON.stringify({a:1,b:2})


比如会把null,undefind等统一变成null

JSON.stringify([null,undefined,NaN])

0 回复 有任何疑惑可以回复我~
  • 提问者 前端丶老太头 #1
    也就是说 就是存在可能state里面的对象顺序不一样但是内容一样,在这种情况下是不需要进行更新的 ,但是如果用了stringify就会判断他们不一样从而造成不必要的更新
    回复 有任何疑惑可以回复我~ 2018-11-07 10:16:44
  • 提问者 前端丶老太头 #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-11-07 10:28:32
问题已解决,确定采纳
还有疑问,暂不采纳
Redux+React Router+Node.js全栈开发
  • 参与学习       1822    人
  • 解答问题       750    个

全网唯一的React 16+Redux+React Router4实战课程,学到手是你的真本领!

了解课程
微信客服

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

帮助反馈 APP下载

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

公众号

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