likes
comments
collection
share

前端周热点121: Next.js, experimental_cache, CSS-in-JS, Qwikify, Typesafety, 3D

作者站长头像
站长
· 阅读数 38

大家好!

现在是会议季:ViteConf的重播已经开始,React Advanced刚刚结束,还有更多的会议即将到来。

Next.js大会在几个小时后开始。我们可能会得到Next.js 13的公告,以及嵌套式布局和其他一些以Turbo🤭开头的超级酷的东西。我们下周再讨论这个问题吧。

不要错过William Candillon的React-Native视频第五季,该季今天开始。

我上个月与PodRocket录制了一集关于Docusaurus 2.0的播客。完全忘了提了😅我想在未来做更多的播客节目,所以请邀请我吧!

⚛️ React

Why We're Breaking Up with CSS-in-JS

为什么我们要与CSS-in-JS分手?

Sam是Emotion的维护者,它是最受欢迎的CSS-in-JS库之一。他解释了CSS-in-JS的优点和缺点,重点是运行时库的问题。对于他的公司Spot来说,序列化样式的成本太高了。他们用Sass模块(CSS模块+Sass)取代了Emotion,并建立了一个CSS实用系统。在Docusaurus上,我们使用CSS模块,我确认它是一个很好的无运行时和相对简单的替代方案。DX没有那么好,但还是相当可以接受。

这篇文章引发了许多有趣的讨论。人们已经知道,带有运行时的CSS-in-JS库会导致性能问题。Dan Abramov证实了这一点,并且不希望在新的React doc网站上使用任何运行时。Ryan Florence提到了Chakra的性能问题,它使用了Emotion。

Tailwind仍然是一个不错的选择。对我来说,它可以被归入CSS-in-JS无运行时类别,特别是在React环境中,Tailwind的样式是通过JSX完成的。有些人质疑它的可维护性,但在实践中它运行得很好。

Qwik React

Qwik是一个创新的SPA框架,避免了与客户端水化有关的性能问题。它现在可以通过qwikify$()函数与React集成,以包装任何现有的React组件。客户端:指令(受Astro启发)允许控制React组件何时被水化,并具有很大的颗粒度。该演示将Material UI整合到Qwik应用中。也请看这个视频。我认为这是一个很好的解决方案,可以避免对这个新的框架进行全盘否定,而逐步尝试。我们还可以保留React的跨平台属性,同时采用Qwik来提高网络上的性能。

Fully Typed Web Apps

Kent C. Dodds解释了具有端到端类型安全的兴趣,从数据库到用户界面,通过不同的边界:网络、本地存储、数据库......。他谈到了验证(模式、类型保护)、类型生成(Prisma)和约定(Remix)。他解释了如何通过Remix实现这种体验,这要归功于推理:使用typeof比使用as更好。

Building an interactive WebGL experience in Next.js

Vercel解释了他们如何基于React-Three-Fiber为Next.js会议创造了一个令人印象深刻的沉浸式注册体验。如果没有3D/WebGL/Three.js的经验,理解起来还是很复杂的,但连续几步的解构很有意思,让人了解到做创意开发的思维方式。

📱 React-Native


🔀 Other


🧑‍💻 Jobs

🧑‍💼 Product Engineer at Causal, Remote/London/NY, $150-250k

Causal is a Series A Startup (backed by Coatue/Accel) building an all-in-one tool for working with numbers and visualizing data. We're looking for strong React engineers who can solve difficult UX/performance challenges.

🧑‍💼 G2i - 100% Remote React Native Jobs

We have several roles open for developers focused on React Native! Pay is ~160k plus 10% bonus. You must have production experience with RN and be based in the US. DM @gabe_g2i to learn more and don't forget to mention This Week in React.

💡 How to publish an offer?

订阅原文:thisweekinreact.com/fr/newslett…