首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

精读《Records & Tuples 提案》

immutablejs、immer 等库已经让 js 具备了 immutable 编程的可能性,但还存在一些无解的问题,即 “怎么保证一个对象真的不可变”。 如果不是拍胸脯担保,现在还真没别的办法。...但现阶段我们没有任何处理办法,如果不能接受完全使用 Immutablejs 定义对象,就只能摆胸脯保证自己的变更一定是 immutable 的,这就是 js 不可变编程被许多聪明人吐槽的原因,觉得在不支持...为什么不像 Immutablejs 一样使用 .get .set 方法操作? 这会导致生态割裂,代码需要关注对象到底是不是 immutable 的。...一个最形象的例子就是,当 Immutablejs 与普通 js 操作库配合时,需要写出类似如下代码: state.jobResult = Immutable.fromJS( ExternalLib.processJob...总结 如果这个提案与嵌套更新提案一起通过,在 js 使用 immutable 就得到了语言层面的保障,包括 Immutablejs、immerjs 在内的库是真的可以下岗啦。

1.3K20

react16常见api以及原理剖析

一是看有没有 shouldComponentUpdate 方法,二就是这里的 PureComponent 判断 使用不可变数据结构 Immutablejs Immutable.js 是 Facebook...ImmutableJS提供了大量的方法去更新、删除、添加数据,极大的方便了我们操纵数据。...除此之外,还提供了原生类型与 ImmutableJS 类型判断与转换方法: import { fromJS, isImmutable } from 'immutable' const obj = fromJS..., 4] }) // 支持混合类型 isImmutable(obj) // true obj.size() // 2 const obj1 = obj.toJS() // 转换成原生 `js` 类型 ImmutableJS...在 ImmutableJS 内部,构造了一种特殊的数据结构,把原生的值结合一系列的私有属性,创建成 ImmutableJS 类型,每次改变值,先会通过私有属性的辅助检测,然后改变对应的需要改变的私有属性和真实值

97610

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券