⭐️ Zustland 的异曲同工之妙

2023-04-11

上班的时候搜了下有关 React Hooks 和状态管理的一些文章,这篇《Hooks 时代下的状态管理方案》吸引了我,提到了一些以 Hooks 为使用方式的状态管理库及其部分实现原理和实际使用的问题。

这篇文章自然也提到到了 Zustland,让我没想到的是,它居然是用了一个虚假的 React State 作为“欺骗”者,触发 React 去更新视图,至于何时触发则就是 Zustland 自己的规则了。传统 Context + Provider 实现“局部状态管理”是组件的层层堆叠,每一层的值被修改都会触发子组件去渲染,最终导致大量组件被重绘从而导致部分性能问题。

事实上,在我曾经写「小窝后台」这个 React 项目的时候,还并没有学会使用 Context + Provider 这种方法共享状态。也想过能不能通过 export default 一个对象的形式来作为“全局状态”,通过上面这个例子来看,实际上它或许的确可以。只是一个普通对象的值被修改,并不能触发 React 的组件更新罢了。

除此之外,还看了《搞懂这 12 个 Hooks,保证让你玩转 React》这篇文章,也有些感触。

ターコイズブルー 多云 一般
概览页 时间轴
奇趣音乐盒 技术源于 Kico Player
Emmm,这里是歌词君