Simon Logo
WritingMonthlyProjects
Simon Logo

Thanks for reading!

CC BY-NC-SA 4.0© 2019-2026 Simon Wong.

Contact

GitHubGithubXTwitterZhihu知乎WeChat微信公众号RSSRSS

Legal

隐私策略服务条款
CC BY-NC-SA 4.0© 2019-2026 Simon Wong.

On this page

On this page

ReactRSCCSSArchitecture

#10 前端月刊

May 31, 2024

React

干净的 React 架构:API 层和获取函数

混合 API 和 UI 的代码是非常糟糕的,对于 UI 来说并不关心发送了什么请求、api 路径是什么。

我们可以提取一个 API 层,隐藏这些 UI 不需要关心的细节。

将这些细节代码: apiClient.get<User>('/api/user').then(res => setUser(res.data)

改成: getUser().then(user => setUser(user))。

很多时候我们不可避免的要处理入参和响应数据,干净的 React 架构:API 层和数据转换 这个是数据转换数据的实践,将数据转换逻辑放到 API 层,减轻 UI 的负担。

这是一份不错的实践

React19 Beta 版本已发布

  • 完全支持 custom element
  • Server Components
  • 船新的 API
    • useActionState帮助处理异步更新的状态挂起、错误、乐观UI、顺序请求等
    • use
    • ... 还有其他 API
  • 支持 meta 标签 现在可以直接渲染 meta、title 等标签,React 会自动提升到 <head> 中
  • 支持异步 script 标签 <script async={true} src="..." />
  • ...还有其他 feature

这里还有一份 19 beta 版本的快速指南

同时,React@18.3 也发布了,增加了弃用 API 的提示,是 19 版本的一个过渡版本。

React 编译器

React Compiler 目前还在实验阶段,但已经可以尝试使用。React Compiler 优化了重新渲染,自动记忆了原本需要手动写 memo、useMemo、useCallback 等。

虽然叫编译器,其实是一组插件,包括:

  • react-compiler-healthcheck 检查代码库的兼容性
  • eslint-plugin-react-compiler eslint 插件,显示违反 React 规则的代码
  • babel-plugin-react-compiler babel 插件,主要就是使用该插件运行编译器

React服务器组件(RSCs)的深入理解

我们喜欢客户端渲染,因为它减轻了服务器的繁重操作,但提供空的 HTML 页面通常会导致在初始页面加载期间对用户体验产生负担。我们喜欢服务器端渲染,因为它允许我们在快速CDN上提供静态资产,但它们不适合具有动态内容的大型项目。React Server Components(RSC)结合了两全其美,作者彻底研究了我们是如何走到这一步的,并深入研究了RSC对页面加载时间线的影响。

为什么使用 React Query

React Query 是 TanStack 出品的数据获取库,可以方便的获取、缓存、同步和更新服务器状态。这是一篇介绍集成 React Query 的文章。

bulletproof-react

一个简单、可扩展且强大的架构,用于构建生产就绪的 React 应用。是一份 React 项目标准、结构等等的指南。学习借鉴。

HTML&CSS

CSS :has() 交互式指南

这是一份:has() 选择器的交互式学习指南,体验非常不错,目前这个选择器的支持程度在 91% 。

HTML attributes 和 DOM properties 的区别

从中文来讲,好像都是叫属性,但是 attributes 和 properties 是完全不同的。

List

JavaScript 进阶问题列表

JS 中各种折磨人的问题,以前刷面试题可能经常会遇到,再去刷一刷吧。

Previous

前端月刊

Next

前端月刊

You Might Also Like

  • 前端月刊May 31, 2024
  • 前端月刊Nov 30, 2025
  • 前端月刊Jul 31, 2025