immer中间件


immer中间件

immer好处

  • 遵循不可变数据范式,同时使用普通的 JavaScript 对象、数组、Sets 和 Maps。无需学习新的 API 或 “mutations patterns”!

  • 强类型,无基于字符串的路径选择器等

  • 开箱即用的结构共享

  • 开箱即用的对象冻结

  • 深度更新轻而易举

  • 样板代码减少。更少的噪音,更简洁的代码

  • 对 JSON 补丁的一流支持

  • 小:3KB gzip

react TODO Demo

优化前:勾选任一条item,所以的item都会被重新render

优化后:勾选哪条item,哪条item重新item

用了immer之后可以直接操作state里面的数据

immer官网:https://immerjs.github.io/immer/zh-CN/