⚛️ React
React Router 与 React Server Components:前进之路
新发布的 React Router v7.7 版本引入了实验性的 RSC API,可以与兼容 RSC 的打包工具(如 Vite、Parcel)一同在 Data Mode 下使用,其功能几乎与框架模式(Framework Mode)一样强大。未来,框架模式也将在底层迁移到使用 React Router 的 RSC API。
阅读 React Server Components 文档后发现,集成过程看起来并不简单。因此,我猜大多数 React Router 用户可能更愿意等待框架模式内置 RSC 支持。但很酷的一点是,他们暴露了所有底层功能,让你可以将 RSC 引入现有应用,甚至可以创建自己的、由 RSC 驱动的框架模式。
相关链接:
- 🐦 @ReactRouter - X 上的新官方账号
- 🎥 Alem Tuzlak - React Server Components 终于登陆 Vite 和 React Router!
- 🎙️ PodRocket - 与 Brooks Lybrand 探讨 React Router 及文件路由的弊端
React Compiler 要出正式版了?
最近,React Compiler 文档进行了全面重写,拆分成多个页面,并在 React 官网中占据了更显眼的位置。此外,还新增了一个 API 参考部分,涵盖了配置、指令以及如何在分发前预编译 React 库。
React Compiler 现在被官方文档推荐为替代 React.memo、useMemo 和 useCallback 的更优方案。未来,eslint-plugin-react-hooks 可能会默认启用编译器相关的规则。尽管它仍处于 RC (Release Candidate) 阶段,但考虑到 React Conf 十月份的议程,它很可能会在该大会上正式发布。
更多资讯
- 👀 Remix v3 分支:可以一窥 Remix v3 框架可能包含的支持包(基于 Preact)。这些包之前位于 remix-the-web 仓库。Remix v3 应该会拥有比 React Router 更强大的 URL 匹配系统。
- 🐦 Next.js 15.4 -
devtoolSegmentExplorer演示:最新版本中一个便捷的实验性 DX 功能。 - 🐦 Next.js 15.4 - 将浏览器日志转发到终端:新的实验性功能
browserDebugInfoInTerminal不仅有助于提升开发体验,还能让编程 Agent 更轻松地发现和修复客户端错误。 - 🐦 小知识:你可以不使用花括号直接传递 JSX 元素作为 props:是的,
<div prop=<span>Hello</span></div>是合法的! - 📖 TanStack DB - 新的 Live Queries 文档
- 📜 如何在 React Router 中使用 Action Routes:展示了如何将 action 集中管理,以便在多处调用而无需重复代码。
- 📜 Storybook 体积过大?已修复:Storybook v9 极大地优化了依赖图,显著减少了安装时间和体积。
- 📜 Zustand 简介:解释了 Zustand 相较于原生 React Context 的优势。
- 📜 在 Next.js 中为原始 Markdown 内容添加 .md URL:这个小技巧可能对给 LLM 提供数据很有用。
- 📜 告别 Next.js:讲述了一个个人网站迁移到更简单、更轻量、依赖更少 JavaScript 的技术栈的故事。
- 📜 React 中单页应用(SPA)的现状与未来
- 📜 React Server Components: 我们是如何走到这一步的
- 📦 TanStack Router 1.128 - 可选路径参数
- 📦 oxlint 1.8 - 为 react/exhaustive-deps 规则提供自动修复
- 📦 Astro 5.12 - 内容加载器支持 TOML,新的 Netlify DX,原始环境变量
- 📦 Reason-React 0.16 - 支持 React 19,暴露 React 资源预加载 API
- 🎥 Wawa Sensei - 如何使用 TSL 和 WebGPU 创建透镜状材质
- 🎥 Alem Tuzlak - 使用 React Router 实现自定义身份验证的最佳指南!
📱 React-Native
Reanimated 4 正式版发布 — React Native 动画的未来
这是一个重大版本,极大地改进了 Reanimated。亮点包括:
- CSS 过渡和动画:将 CSS 动画的最佳实践引入 React Native,通过一个开发者熟悉且方便的声明式 API,同时提升了性能和 Web/移动端的跨平台支持。这对于状态驱动的微交互尤其有用,但 worklet 仍然是处理复杂和手势/滚动驱动动画的首选。
- Worklet 模块化:Worklet 已被提取到一个独立的库中,Reanimated (>= v3.17) 会依赖它。未来将推出更丰富的多线程 API,能够将重度计算、数据获取/处理移至后台线程,并能在 worklet 中使用第三方库。
- 包模块化:Reanimated 被拆分为多个模块化包,以帮助减小打包体积,这在 Web 端尤其有用。
- 共享元素过渡 (Shared Element Transitions) 将在未来的 v4.x 版本中推出。
- Reanimated v4 不兼容新架构 (New Architecture)。
更多资讯
- 📣 Callstack 获得美国主要私募股权投资以加速全球增长
- 📣 谷歌确认将 Chrome OS 和 Android “合并”为单一平台
- 🐦 Tzvetan Mikov - Hermes v2 在 2025 年 6 月底的性能表现:基准测试显示,在非类型化的 JS 上,其性能优于 QuickJS 和 Hermes v1。v2 即将发布。之后,Static Hermes 将进一步提升类型化代码的性能。
- 🐦 Tzvetan Mikov - Hermes 可以基于旧的 bundle 生成更适合二进制 diff 的 bytecode bundle (用于 OTA 更新):Hermes 一个鲜为人知的功能,可以基于旧 bundle 创建新 bundle。对于 OTA 更新,这意味着可以通过网络发送微小的二进制 diff 补丁,从而大大减小 OTA 的负载大小。我不确定是否有人已经利用了这一点,但这看起来是 Expo 可以利用的一个很棒的功能。
- 🐦 Fernando Rojo 注意到 React Native 正在弃用
pod install - 👀 Expo PR - 新的
@expo/app-integrity包:这个即将推出的安全包将帮助开发者通过确定其应用是否在合法且未受损害的设备上运行,来防止欺诈和滥用。 - 👀 React Native 0.81 PR - Modal
allowSwipeDismissal属性:这将允许你通过向下滑动的手势关闭 iOS 的 Modal。 - 📖 将 React Native 逐步引入你的应用:Callstack 提供的免费电子书,教你如何将原生应用逐步迁移为 React Native “棕地”应用。
- 🗓 React Universe Conf - 🇵🇱 波兰弗罗茨瓦夫 - 9月2-4日。普通票将于7月31日截止。使用代码 "TWIR" 可享受 10% 折扣。
- 📜 如何使用 Matter.js 和 React Native Skia 构建 2D 游戏风格的物理效果
- 📜 在 React Native 中构建和运行 Node-API 模块
- 📦 Keyboard Controller 1.18 - 键盘扩展或与键盘交互的新方式:此版本带来了显著改进,允许你渲染存在于键盘区域内部或旁边的自定义 UI 元素。它还修复了 iOS 上键盘预加载的延迟问题。
- 📦 Screens 4.13 - 原生标签页:原生底部标签页终于来了,支持 Android 和 iOS(包括 iOS 26 的液态玻璃标签页),同时兼容旧架构和新架构!
- 📦 Private Mind:SWM 推出的与本地 LLM 模型聊天的应用,是 ChatGPT 的一个很好的替代品,没有隐私问题。开源且基于 React Native ExecuTorch。
- 📦 React Native Fast Shimmer - 轻量、高性能、可定制的库,用于创建优雅的加载骨架屏
- 📦 Gesture Handler 2.27.2 - 各种错误修复和改进
- 📦 Reanimated 3.19 - 支持 RN 0.81,多项错误修复
- 📦 Create React Native Library 0.52 - 创建 Nitro 视图的选项
- 📦 NativeUI - 使用 shadcn 分发模型的美观、可访问的组件
- 🎥 Beto - 如何在 React Native 中使用 Claude Code (分步教程)
- 🎥 Expo - Repack 工作流演示 - 将 React Native CI 构建时间缩短高达 80%
- 🎥 Simon Grimm - 使用 Expo Router v5 实现 React Native 身份验证
🔀 其他
- 📣 Firefox 141 for Windows 将支持 WebGPU:一个积极的信号,预示着 WebGPU 在不久的将来会普及?
- 👀 Ecma TC39 第 109 次会议议程 - 7月28-31日:又一次内容丰富的会议,许多有趣的提案将进入新阶段,同时也有新的提案待研究。
- 📊 State of HTML - 问卷调查开放中
- 📜 SVG 友好入门指南
- 📜 更快的类型感知 Lint 规则:Biome vs. Oxlint
- 📜 JavaScript 中使用 Array.fromAsync() 实现现代异步迭代
- 📦 tsgolint - 基于 typescript-go 的实验性 JS/TS linter,比 ESLint 快约 30 倍
- 📦 Bun 1.2.19 - pnpm 风格的隔离 node_modules 安装,交互式升级,
bun why等 - 📦 Better Auth 1.3 - 新的 SSO、OIDC、Stripe、以太坊插件
- 📦 NAPI-RS 3.0 - 使用 Rust 构建预编译的 Node.js 插件