Immer

Immer是一个用来操作不可变数据的小型库。不可变数据在React中有着十分广泛的应用,对于不可变数据的变化检测也十分的容易:如果对一个对象的引用没有发生改变,那么这个对象就没有发生改变。而且在克隆对象的时候,对于对象中未发生改变的部分就可以不必复制了,仅需要在内存中与旧对象共享即可。

不可变对象在React中的应用也对应了React中组件不可变的原则,这使得React对于组件树的处理和渲染变得十分高效。

虽然通过手写传统的代码也可以实现不可变数据,但是Immer的使用可以帮助不可变范式的遵守,并且可以主动检测一些意外的发生,同时还会利用Proxy保证对象副本的创建和效率。而且在项目中使用Immer几乎是无感的,Immer的学习成本和使用成本都非常的低。

要在应用中使用Immer,只需要在应用项目目录中执行以下命令即可。

npm install immer
yarn add immer