栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

浅表比较如何在反应中起作用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

浅表比较如何在反应中起作用

浅比较会检查是否相等。比较标量值(数字,字符串)时,它会比较它们的值。当比较对象时,它不比较它们的属性-仅比较它们的引用(例如“它们是否指向同一对象?”)。

让我们考虑

user
物体的形状

user = {  name: "John",  surname: "Doe"}

范例1:

const user = this.state.user;user.name = "Jane";console.log(user === this.state.user); // true

注意,您更改了用户名。即使有了这种变化,对象也是相等的。他们引用是完全相同的。

范例2:

const user = clone(this.state.user);console.log(user === this.state.user); // false

现在,无需更改对象属性即可将它们完全不同。通过克隆原始对象,可以创建具有不同参考的新副本。

克隆功能可能如下所示(ES6语法)

const clone = obj => Object.assign({}, ...obj);

浅比较是检测更改的有效方法。期望您不要变异数据。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/394666.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号