获得徽章 0
赞了这篇沸点
Zustand蛮适合作为接触源码的第一站,如果你看Zustand代码你会发现代码真的简单(我第一次看的时候也是蛮惊讶的),所以说并不是越复杂的东西越好,状态管理库的未来一定是简洁易用、符合直觉。

而Zustand的核心是useSyncExternalStoreWithSelector,重点要理解它是解决React18并发更新带来的的Tearing问题。useSyncExternalStoreWithSelector在 use-sync-external-store 库里实现的,会根据React版本来选择是否采用原生的实现,如果React18以下的版本会采用React Hooks实现,因此阅读React源码我非常建议从useSyncExternalStoreWithSelector看起,因为不包含很多上下文,容易看懂,会给你很多信心,源代码在 -> github.com,对应小册第7章,理解并发更新可以移步第6章,想要自己写一个状态库并不复杂,重点是要理解这些概念。
展开
评论
赞了这篇沸点
掘金小册上线了,希望能帮助到大家,感谢
3
赞了这篇沸点
冷知识,TanStack Query 原名 React Query,从 V4 版本开始就更名为了 TanStack Query,当然它的其它产品也统一到了 TanStack 品牌之下。有些人对此提出了质疑,是否他是因为自恋才把库改为自己的名字(作者名为 Tanner)。
但归根结底作者及开发团队正在扩展到其它框架,如 Vue, Svelte, Solid 等等,因此这就是为什么需要脱离 React 而变更为 TanStack 的真正原因。
展开
_木木学长_于2024-05-09 09:13发布的图片
评论
赞了这篇沸点
我们经常可以在代码中看到胡乱使用 useMemo 的例子,例如对于非常简单的计算逻辑许多开发者也会使用 useMemo 来进行包裹,然而 useMemo 并非没有消耗,它会依次对比 deps 看是否有变化来决定是否复用上一次的计算结果,以及需要缓存相关的状态到 Fiber Node 上。

React 官方的建议是如果你不知道怎么用你可以使用 console.time 来测量代码的执行时间,如果时间大于等于 1ms 则代表添加 useMemo 来缓存计算结果是有意义的。
展开
评论
前端开发
前端开发
赞了这篇沸点
我现在马上就入职工作了,嗯我在给未来的规划里是要沉淀一下自己的技术栈,那需要去买课来沉淀吗?
16
前端开发
下一页