前端周热点99:

240 阅读4分钟

React

Ladle - A drop-in alternative to Storybook

Ladle是一个来自Uber的工程师的项目,他喜欢Storybook,但在他的公司里仍然看到各种性能问题:构建时间、启动时间、交互时间......。因此,他创建了一个更快的替代方案,基于Vite和ES模块,并与Component Story Format兼容,使采用更容易(demo)。

Preemptive Memoization In React Is Probably Not Evil

一篇关于对象和回调的稳定性的文章,非常有趣,而且有据可查。尽管使用useMemo看起来是一种过早的优化,但Zhenghao建议尽可能地稳定身份,至少对于lib和自定义钩子是这样。我们期待着 React-ForgetRecords & Tuples的出现,它们可以大大简化我们的生活。

Remix Stacks** & **Remix v1.3

Remix CLI现在允许你用一个给定的堆栈初始化一个项目。Remix提供了3个内置栈,可以快速启动(DB、Auth、host、test...),也可以创建自己的栈(例如公司项目)。在这3个可用的堆栈中,差异主要是在主机或持久性方面,我们发现了一些共同的基础:Tailwind, TypeScript, Prettier, ESLint, Cypress, MSW, Docker, Vitest, Testing Library。

我觉得提供启动器以快速入门是件好事,但我对 "模板 "的做法褒贬不一,我更喜欢Kent之前倡导的 "company-scripts"的做法(如CRA),以减少现有项目的长期维护。

Upgrading Next.js for instant performance improvements

Vercel最近将一个演示应用程序(Virtual Reality Store)从Next.js v8升级到v12。Lydia借此机会列举了最新版本的许多改进,你只需付出最小的升级努力就能得到这些改进。对你可能错过的新功能做了一个很好的概述。

How Wix Applied Multi-threading to Node.js and Cut Thousands of SSR Pods and Money

来自Wix的反馈,解释了他们如何优化运行React服务器端渲染的平台,以满足高CPU需求。他们使用了新的Node.js API 14 worker_threads(与 child_process不同,允许内存共享),得到了非常好的结果。这篇文章更多的是关于Node.js的,但对于那些运行自我托管的React SSR管道的人来说,仍然觉得很有意义。

Shopify: Creating a React Library for Consistent Data Visualization

来自Shopify的反馈,报告其数据可视化的一致性问题。解决方案:创建Polaris Viz库,该库将很快开源。他们特别解释了使用React上下文来创建默认主题,以及通过部分覆盖来创建变体的可能性。

Idiomatic Redux: Designing the Redux Toolkit Listener Middleware

Mark Erikson对新的Redux Toolkit 1.8 Listener Middleware API的设计进行了回顾,该设计跨越了2年多的时间,进行了多次迭代。他们设法用一个相对简单的API覆盖了许多Redux-Saga/Observable的用例。我喜欢await condition(predicate) 的概念。

拓展阅读

React-Native

Other

CodeSandbox Projects

CodeSandbox重写,为任何规模的项目提供新的云开发体验,与IDE集成(现在是VSCode,将来会有更多),甚至支持iPad。不错的贡献工作流程,对于快速合作或代码评审似乎很方便,而无需切换你的本地git分支。

拓展阅读

image