mirror of
https://github.com/NohamR/knowledge-kit.git
synced 2026-05-25 04:17:17 +00:00
docs: 批量博文
This commit is contained in:
16
Chapter2 - Web FrontEnd/2.36.md
Normal file
16
Chapter2 - Web FrontEnd/2.36.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# immutable.jS 与 React
|
||||
|
||||
|
||||
## 引用带来副作用
|
||||
|
||||
js 中数据类型分为2种,primitive value 和 Object。js 中的对象非常灵活,某个地方对对象进行修改后产生的结果难以预期,所以我们需要不可变对象。
|
||||
但是自己实现的对象拷贝算法,可能浪费时间也浪费空间, 所以诞生了 immutable.js 这个库。
|
||||
|
||||
|
||||
|
||||
## 核心实现
|
||||
|
||||
immutable.js 基于哈希映射树和 vector map tries。只 clone 该节点和其祖先节点,其他保持不变,这样可以共享大部分相同的节点,大大提高性能。
|
||||
|
||||
1. 避免直接修改线性结构
|
||||
2. 减小内存开销(增量更新)
|
||||
Reference in New Issue
Block a user