跳到正文

React

9篇文章

2026. 09. 21 · 阅读约27分钟

overlay-kit

把用全局状态保存模态框开关的代码换成一行 await,我得到了什么又失去了什么。顺着源码追踪 overlay-kit 的事件、reducer 与 openAsync 核心逻辑,并亲手测试重新打开的行为,直到发现它与文档不符之处。

2026. 06. 17 · 阅读约28分钟

Kalyx

整理了我为什么开发 React headless DatePicker Kalyx,以及它与 Ark UI、React Aria、react-day-picker 的区别。结合代码与实测,讲解 ISO 8601 UTC 值模型、基于 Intl 的夏令时处理和覆盖全部 IANA 时区的属性测试。

2026. 05. 18 · 阅读约29分钟

状态管理

状态管理被视为前端开发中最棘手的工作之一。本文将状态分为局部、全局、服务端、表单、URL、外部和守卫 7 类,并从 Single Source of Truth、消除不可能状态、State Colocation 等 4 个判断维度,梳理工具选择与状态建模的准则。

2026. 03. 28 · 阅读约19分钟

Toss Frontend Fundamentals 模拟考试第 2 期重构复盘

分享在 Toss Frontend Fundamentals 模拟考试第 2 期中重构会议室预订应用的经历。文中梳理单体组件的拆分方式、领域逻辑的提取过程,以及以测试为基础推进重构的完整步骤,并记录其中做出的取舍与复盘,供准备同类练习的开发者参考。

2026. 01. 04 · 阅读约34分钟

queryKey

梳理 TanStack Query 的 queryKey 如何工作,以及它为何从内联数组演进到 query key factory 和 queryOptions;并从实践角度讨论 TkDodo 模式、v5 queryOptions,以及 setQueryData 和缓存失效。

2025. 12. 03 · 阅读约26分钟

ErrorBoundary 放在哪里

知道了错误会去哪里,接下来就该在那些地方放上接收它的东西。ErrorBoundary 分几层、一次失败该让出多少屏幕、以及要让重试按钮真的重试还得一起解开什么,全部用已安装的源码来核对。

2025. 11. 17 · 阅读约23分钟

错误的传播

把同一个错误从七个位置抛出去,只有四个能到达 ErrorBoundary。这篇文章用官方文档和本地安装的源码确认编译期、渲染与生命周期、服务端数据、页面切换、外部库、事件与异步分别传播到哪里。

2025. 05. 20 · 阅读约40分钟

彻底掌握 React Fiber

基于 React 源码,深入分析 React Fiber 架构,从 Stack Reconciler、Lane 优先级、双缓冲、MessageChannel 调度器到 Concurrent Features。前端面试中的高频主题。

2024. 08. 18 · 阅读约28分钟

Zustand,你到底为什么是 ProviderLess?

通过阅读源码深入探究 Zustand 无需 Provider 就能管理状态的原理。文中比较它与 React Context API 的差异,梳理基于模块作用域的 store 设计,以及 useSyncExternalStore 的订阅机制。