React 中文周刊 #298 - Discord 弃用 Electron 与 React Native,转向 Rust 重写
原创 印记中文团队 2026-11-08 12:23 内蒙古
本期看点:Discord 宣布弃用 Electron 与 React Native,用 Rust 重写桌面端与移动端;Redux Toolkit 公布 v2.x 与 3.0 路线图,3.0 将转为纯 ESM 并带来破坏性变更;Parcel 3 Alpha 以 Rust 重建内核并内置 React Compiler、Tailwind 与 RSC
本期看点:Discord 宣布弃用 Electron 与 React Native,用 Rust 重写桌面端与移动端;Redux Toolkit 公布 v2.x 与 3.0 路线图,RTK 3.0 将转为纯 ESM 并带来「React 19 级别」的破坏性变更;Parcel 3 Alpha 以 Rust 重建内核并内置 React Compiler、Tailwind 与 RSC;Next.js 试验用 Go 编写 Route Handlers;以及亚马逊基于 React Native 的 Vega OS 2.0 与 5 项版本发布。
编辑:TimLi
🔥 本周热点
Discord 弃用 Electron 与 React Native,转向 Rust 重写 —— Discord 是 React Native 最广为人知的用户之一,如今却选择离开。其 CTO 𝕏 展示了用 GPUI 构建的 Rust 桌面客户端,仅占用 290MB 内存;移动端则保留原生 UI,与桌面端共享同一份 Rust 代码。Tom Warren (The Verge)
就在这次公布前不久,Software Mansion 采访了 Discord 的 Chas Jhin,聊聊在 Discord 这样的规模下 React Native 开发究竟是怎样的,还聊到了一个意味深长的标题——《也许 React Native 是不可能的》。
Redux Toolkit v2.x 与 3.0 的路线图 —— Mark Erikson 梳理出了 Redux 的路线图(还附上了一段生动的历史回顾),RTK 3.0 预计会在六到八个月内发布,届时将转为纯 ESM,并带来「React 19 级别」的破坏性变更。不过一连串 2.x 版本会先把地基打好,本周就从 2.14 开始。Mark Erikson
Next.js 正在试验用 Go 编写 Route Handlers —— 一个已合并的实验性 PR 允许 App Router 的路由是一个导出 GET 等方法的 route.go 文件,由 Turbopack 编译,运行在受监管的 Go worker 中。Tim 说 Rust 之后也可能走上同一条路。Tim Neutkens (Vercel)
深入理解 React 内部机制 —— 一个共七部分、基于源码的 React 内部机制导览;难得的是,它先从服务端讲起,再深入到 fiber、lane 与 commit 阶段。Alexandre Trotel
亚马逊基于 React Native 的 Vega OS 迎来 2.0 —— 驱动新一代 Fire TV 设备的 React Native 系统 Vega 正式走出 beta。SDK 2.0 将应用从 RN 0.72 升级到 0.83,并引入了 React Compiler 与 Hermes v1。发布说明比公告本身更详细。Barak Schlosser (Amazon)
快讯:
⚠️ 请按情况升级到 Next.js 16.4.5 或 15.5.29:十一月的安全版本修复了七个安全公告,其中多数是 Cache Components 的 bug,这篇文章值得一读。
🤖 TanStack Query 维护者 Dominik Dorfmeister 表示,只有当「垃圾 PR」不再涌来、不再占用他的时间后,Query v6 的开发才能启动,这也引出了一场关于 AI 生成的贡献对维护者有何影响的讨论。
Vercel 正在把 Next.js 的 Data Cache 合并进 Runtime Cache,配额更大,但……读取与写入都改成了按量计费。Hobby 团队将在 11 月 29 日迁移,请核对日期与价格。
Vercel 的构建现在也会拦截已知恶意的 npm 包版本,在安装前后均会检查,所有套餐都适用,无需额外配置。
📖 文章与视频
📄 我们为什么终于离开 Next.js 转向 TanStack Start —— 两个 Next.js 16.3 版本在生产环境中的内存泄漏是最后的导火索。Harrison Milbradt
📄 可写的派生状态:别再同步状态了 —— 用 clientData ?? serverData 代替那个会在重新拉取数据时抹掉用户输入的 useEffect。Corbin Crutchley
🛠 代码与工具
Skullet:从你的组件中测量出骨架屏加载状态 —— 喂给它示例数据,它会隐形地渲染你的真实组件、测量一切,并画出相匹配的骨架屏,从而在数据到达时减少布局偏移。文档里的「工作原理」章节讲清了这项技术。Lochie Axon
Parcel 3 Alpha:Rust 重写,内置 React Compiler、Tailwind 与 RSC —— Parcel 的核心现在是一个 Rust 二进制文件,不再依赖 Node,团队称冷启动构建比 v2 快最多 100 倍。React Compiler(可选开启)、Tailwind 与 MDX 均已内置,RSC 支持处于 beta。Devon Govett (Parcel)
🤖 Reticle:让编码代理对着运行中的应用验证自己的改动 —— 一个仅用于开发的 SDK 与 MCP 服务器,让编码代理驱动你正在运行的应用,检查网络请求、应用状态与控制台活动,并返回「通过 / 失败 / 无法判断」的结论,以及需要修复的地方。Reticle Labs
react-resizable-panels 新增 VS Code 风格的 Workspace 组件 —— Brian Vaughn 这套广受欢迎的面板库现在支持可停靠的标签页,可以拖拽以拆分或合并面板;移动过的标签页会保留状态,而不是被重新挂载。这里有在线演示。Brian Vaughn
📢 其他生态
James Long 正在让 Prepack 复活,这是 Facebook 当年放弃的 JavaScript 部分求值器。有一个 React 演示,同一个假站点会用三种方式做服务端渲染:由 React 渲染、由 Prepack 的产物渲染(基本等于「编译」掉 React),以及两者混合,并给出渲染耗时对比。
Node.js 27 Alpha 发布了,这是首个采用 Node 新发布流程的版本(在新的流程里,一个版本会先在 'alpha' 停留六个月,之后才进入 Current),同时 Node 26 已成为新的 LTS 版本线。
Chrome 157 本周推送,其中 HTML-in-Canvas 已转正,提供了一种把真实 DOM 元素绘制到 2D、WebGL 与 WebGPU 画布上的方式。这些演示相当惊艳。
Vercel 发布了 Geist Serif,一款新的衬线字体,与 Geist Sans 共享度量,因此两者可以干净地混排。它尚未上架 Google Fonts,但
geistnpm 包已经包含它。
版本发布:
Preact v11.2 —— 通过
preact/compat提供了 React Compiler 输出的运行时,另外支持 shadow root 中作用域化的自定义元素注册表。XState v6.0 Beta —— 公开 API「不再有计划中的破坏性变更」,同时
@xstate/reactv7 也已进入 beta。TanStack Redact v0.3 —— 这个轻量级、仅同步的 React / React DOM 替代品新增了面向 Webpack 与 Rspack 的浏览器 SPA 插件。
React Native v0.89 RC —— 文本布局与原生模块调用更快,旧的 bridge API 已被移除。稳定版预计在 12 月发布。
Storybook v11.0 Beta
🙋♀️ 关注我们