<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>React_Router | 锤子前端</title><description>Now vibe coding, so learning hammer FE ?</description><link>https://channel.meo-ai.com</link><item><title>《TanStack Start 心智模型：给 Next.js 开发者的迁移指南》</title><link>https://channel.meo-ai.com/posts/667</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/667</guid><pubDate>Sun, 21 Jun 2026 09:59:34 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《TanStack Start 心智模型：给 Next.js 开发者的迁移指南》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TanStack_Start&quot; title=&quot;#TanStack_Start&quot;&gt;#TanStack_Start&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Next&quot; title=&quot;#Next&quot;&gt;#Next&lt;/a&gt;.js &lt;a href=&quot;/search/result?q=%23React_Router&quot; title=&quot;#React_Router&quot;&gt;#React_Router&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TypeScript&quot; title=&quot;#TypeScript&quot;&gt;#TypeScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%85%A8%E6%A0%88%E6%A1%86%E6%9E%B6&quot; title=&quot;#全栈框架&quot;&gt;#全栈框架&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;文章从一位资深 Next.js 开发者的视角，系统对比了 TanStack Start 与 Next.js App &lt;mark class=&quot;highlight&quot;&gt;Router&lt;/mark&gt; 的核心差异。核心心智模型翻转在于：Next.js 默认服务端优先、隐式约定驱动；TanStack Start 默认同构 &lt;mark class=&quot;highlight&quot;&gt;React&lt;/mark&gt;、显式声明边界。作者逐一对比了路由类型系统、数据获取、服务端函数、缓存策略、渲染模式、认证防护等关键维度，指出 TanStack Start 更适合高交互 SaaS 类应用，而 Next.js 在内容型站点和成熟生态上仍有优势。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;1. 心智模型大翻转：Next.js 默认组件跑在服务端，需要显式标注 &lt;code&gt;&quot;use client&quot;&lt;/code&gt; 才能上客户端；TanStack Start 默认组件同构（服务端+客户端都能跑），只有需要纯服务端逻辑时才用 &lt;code&gt;createServerFn&lt;/code&gt; 显式声明，边界更清晰，不容易踩坑&lt;br /&gt;2. 路由类型系统碾压：Next.js 的文件路由是约定驱动，TypeScript 对参数无能为力；TanStack &lt;mark class=&quot;highlight&quot;&gt;Router&lt;/mark&gt; 会在构建时自动生成完全类型化的路由树，路径参数、搜索参数、loader 返回值全部类型推断，拼写错误直接编译报错&lt;br /&gt;3. 数据获取的&quot;陷阱&quot;：Next.js 的 Server Component 只在服务端执行，天然安全；TanStack Start 的 loader 是同构的——SSR 时跑在服务端，客户端导航时跑在浏览器里，所以直接写数据库查询会泄露环境变量，必须用 &lt;code&gt;createServerFn&lt;/code&gt; 包裹&lt;br /&gt;4. 缓存哲学更简单：Next.js 历史上有复杂的四层缓存模型，v16 改为 &lt;code&gt;&apos;use cache&apos;&lt;/code&gt; 显式 opt-in；TanStack Start 只有路由 loader 缓存 + 可选的 TanStack Query，没有隐式魔法，哪里缓存、哪里失效一目了然&lt;br /&gt;5. 认证防护双层设计：&lt;code&gt;beforeLoad&lt;/code&gt; 负责 UI 层面的重定向（用户体验），&lt;code&gt;createServerFn&lt;/code&gt; 中间件负责数据层面的安全校验（真正的安全边界），两层职责分离，比 Next.js 把 edge middleware 和 action 内校验混在一起的方案更不容易遗漏&lt;br /&gt;6. Remix 与 RSC 现状：TanStack Start 的 RSC 支持仍处于实验阶段，实现方式也与 Next.js 不同（更像客户端获取 Flight payload 后组装），如果生产环境重度依赖 RSC，Next.js 目前更成熟&lt;br /&gt;7. 选型建议：内容型/营销站点选 Next.js；高交互 SaaS 后台、需要强类型安全、讨厌隐式缓存魔法的团队，TanStack Start 值得认真评估&lt;br /&gt;&lt;br /&gt;URL：&lt;br /&gt;&lt;a href=&quot;https://www.adarsha.dev/blog/tanstack-mental-model-for-nextjs-developers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://www.adarsha.dev/blog/tanstack-mental-model-for-nextjs-developers&quot;&gt;https://www.adarsha.dev/blog/tanstack-mental-model-for-nextjs-developers&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://adarsha.dev/blog/tanstack-mental-model-for-nextjs-developers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Understand TanStack Start from a Next.js developer’s perspective: its router-first architecture, explicit server boundaries, typed routing, caching, rendering, and server functions.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Adarsha Acharya&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;TanStack Start: A Mental Model for Next.js Developers&quot; src=&quot;/static/https://cdn4.telesco.pe/file/Ja3_PLOYCdk_ef6YOzQimki-laVzYQKPWscgPmZVkfjz7dJvyVktlBPYjr0fz-r-XAbor1EWUAJJNcyggHiG0FZZe0VUxcREOqzVZqtUI6kwB771dWmk4swUzl_Oz5TzIpz-FxNLy2vT86ybEurfETg2ReU9ZeESH6jXHKw3Dg6KNLgpxKWmJ0lfkgXKP8Biom9MzNlGHfAiKlVipcNSSmzTWh1lC-147ID8LoseQdKaMtmwxRFIeQZJrnSFR0fiEmHe0F6AmO3fO4nx3yS42vROCGF4EcbrzO6QCrIt9g84djfexf-9do1w-T1zmrPwV_yxzAOwF3OglTbp_karFA.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;TanStack Start: A Mental Model for Next.js Developers&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;Understand TanStack Start from a Next.js developer’s perspective: its &lt;mark class=&quot;highlight&quot;&gt;router&lt;/mark&gt;-first architecture, explicit server boundaries, typed routing, caching, rendering, and server functions.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>《React Router v8 发布：最&quot;无聊&quot;的一次大版本升级》</title><link>https://channel.meo-ai.com/posts/666</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/666</guid><pubDate>Sun, 21 Jun 2026 08:48:50 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《&lt;/span&gt;&lt;mark class=&quot;highlight&quot;&gt;&lt;span class=&quot;post-title-source&quot;&gt;React&lt;/span&gt;&lt;/mark&gt;&lt;span class=&quot;post-title-source&quot;&gt; &lt;/span&gt;&lt;mark class=&quot;highlight&quot;&gt;&lt;span class=&quot;post-title-source&quot;&gt;Router&lt;/span&gt;&lt;/mark&gt;&lt;span class=&quot;post-title-source&quot;&gt; v8 发布：最&quot;无聊&quot;的一次大版本升级》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23React_Router&quot; title=&quot;#React_Router&quot;&gt;#React_Router&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Remix&quot; title=&quot;#Remix&quot;&gt;#Remix&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Vite&quot; title=&quot;#Vite&quot;&gt;#Vite&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23React19&quot; title=&quot;#React19&quot;&gt;#React19&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23SPA_SSR&quot; title=&quot;#SPA_SSR&quot;&gt;#SPA_SSR&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%A1%86%E6%9E%B6%E5%8D%87%E7%BA%A7&quot; title=&quot;#框架升级&quot;&gt;#框架升级&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;&lt;mark class=&quot;highlight&quot;&gt;React&lt;/mark&gt; &lt;mark class=&quot;highlight&quot;&gt;Router&lt;/mark&gt; v8 正式发布，主打&quot;最无聊的大版本升级&quot;理念。v7 引入的 Framework Mode 已成熟，v8 在此基础上将多个 future flags 转正为默认行为，带来 40+ 项改进，包括中间件增强、路由模块拆分、类型安全的 href、Link 遮罩等。破坏性变更极少，升级路径平滑。团队同时宣布采用年度大版本发布节奏，并正式将 &lt;mark class=&quot;highlight&quot;&gt;React&lt;/mark&gt; &lt;mark class=&quot;highlight&quot;&gt;Router&lt;/mark&gt; v6 和 Remix v2 标记为生命周期结束（EOL）。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;1. 升级超省心：v8 的破坏性变更极少，大部分改动在 v7 中就能提前完成，团队的目标是&quot;让大版本升级尽可能无聊&quot;&lt;br /&gt;2. 基线要求更新：最低支持 Node 22.22+、&lt;mark class=&quot;highlight&quot;&gt;React&lt;/mark&gt; 19.2.7+、Vite 7+，且改为纯 ESM 发布，tsconfig 目标更新至 ES2022&lt;br /&gt;3. Future Flags 转正：v8 移除了多个 future flags，其对应功能现在默认启用，比如中间件、透传请求、Vite Environment API 支持等&lt;br /&gt;4. Remix 走向新方向：Remix v0.x-2.x 的功能已合并回 &lt;mark class=&quot;highlight&quot;&gt;React&lt;/mark&gt; &lt;mark class=&quot;highlight&quot;&gt;Router&lt;/mark&gt;，Remix 3 将转型为真正的全栈零依赖 JS 框架，与 &lt;mark class=&quot;highlight&quot;&gt;React&lt;/mark&gt; &lt;mark class=&quot;highlight&quot;&gt;Router&lt;/mark&gt; 并行发展&lt;br /&gt;5. 年度发布节奏：从 v8 开始采用每年一次大版本发布，让升级更可预测、更稳定&lt;br /&gt;6. v6/v7 生命周期：v6 和 Remix v2 正式 EOL，不再接收安全更新；v7 继续接收安全补丁&lt;br /&gt;&lt;br /&gt;URL：&lt;br /&gt;&lt;a href=&quot;https://remix.run/blog/react-router-v8&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://remix.run/blog/react-router-v8&quot;&gt;https://remix.run/blog/react-router-v8&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://remix.run/blog/react-router-v8&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;React Router v8 is available now.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;remix.run&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;React Router v8&quot; src=&quot;/static/https://cdn4.telesco.pe/file/spAB9WMv1R2jc0yUDNKpBSo2kkzNekzbhKlhZQMlGXdoF19Yksj4x8eroj1oQrdimTd312ZI0sejk7H9-J9M1UeKaLQsLJw-RTSmF5yjxQr6dK9W3cuFkTzsVDAABR8_VTxbOF56Ij_fuZF-27gkkgM3I2meCzsKHuwIk8aDMk4aIbOszBgCcLO3CPooMcCyTJCbLlL0yeENiI9Po6qnv2EUSi_EcPxC3jyp_fmawCrDV9pVey93yXYv7SQO7NYkXyforBPgRKcTNbgHbG8NVzq1xwkDf4yy4aUFRaUcAe6AczappwewUGzl4kjdzfQoMyVRXqyLeSBfcaSWVtGbhw.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;&lt;mark class=&quot;highlight&quot;&gt;React&lt;/mark&gt; &lt;mark class=&quot;highlight&quot;&gt;Router&lt;/mark&gt; v8&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;&lt;mark class=&quot;highlight&quot;&gt;React&lt;/mark&gt; &lt;mark class=&quot;highlight&quot;&gt;Router&lt;/mark&gt; v8 is available now.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>#文章 #React Router v7 启航开启下一个十年</title><link>https://channel.meo-ai.com/posts/82</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/82</guid><pubDate>Sat, 23 Nov 2024 03:44:01 GMT</pubDate><content:encoded>&lt;a href=&quot;/search/result?q=%23%E6%96%87%E7%AB%A0&quot; title=&quot;#文章&quot;&gt;#文章&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23React&quot; title=&quot;#React&quot;&gt;#React&lt;/a&gt; &lt;a href=&quot;https://remix.run/blog/react-router-v7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Router v7 启航开启下一个十年&quot;&gt;&lt;mark class=&quot;highlight&quot;&gt;Router&lt;/mark&gt; v7 启航开启下一个十年&lt;/a&gt;。&lt;br /&gt;- 集成了Remix的特性，为React Router用户提供了框架模式，包括编译器、服务器渲染、代码分割、优化、类型安全增强等。&lt;br /&gt;- 创建新应用可以选择作为 &lt;a href=&quot;https://reactrouter.com/start/library/installation&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;库(create-vite)&quot;&gt;库(create-vite)&lt;/a&gt; 还是 &lt;a href=&quot;https://reactrouter.com/start/framework/installation&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;框架(create-react-router)&quot;&gt;框架(create-&lt;mark class=&quot;highlight&quot;&gt;react&lt;/mark&gt;-&lt;mark class=&quot;highlight&quot;&gt;router&lt;/mark&gt;)&lt;/a&gt;。&lt;br /&gt;- 框架模式下，还有一些列的部署和服务端渲染等解决方案。&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://remix.run/blog/react-router-v7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;React Router v7 brings all the great things you love from Remix back to React Router&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;remix.run&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;React Router v7&quot; src=&quot;/static/https://cdn4.telesco.pe/file/gzxrkj39G0rgzzqnASn2MHdca-irptVYSHqZoQzUhJ_IHK8-HDYVi2-IE7nL8s_psoPSZhwMct41xs3lCt0twh29v9asCrSkO0Kjkl2nHwL8PdoqciVAw9PVI9DRx52txZQR5clGHaQPQCmuUH90X2B9BL85RkI_izw9tHyLm5pMXY8fEGixW4tHiuN5940N4lvU64BGpBdByiUsFkVWAF4qacxPPkJ8Op0q7TchQ8zusqsyF-cjpNH3vrqN4I4zpdxwS4jDdtNHPgvU2WQwZRnm6-PTxk5cLiMALQzGwpKbnAzgCZiiixoMw0-Gaw0uW9bbNhNl25NpnLtNE7CITw.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;&lt;mark class=&quot;highlight&quot;&gt;React&lt;/mark&gt; &lt;mark class=&quot;highlight&quot;&gt;Router&lt;/mark&gt; v7&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;&lt;mark class=&quot;highlight&quot;&gt;React&lt;/mark&gt; &lt;mark class=&quot;highlight&quot;&gt;Router&lt;/mark&gt; v7 brings all the great things you love from Remix back to &lt;mark class=&quot;highlight&quot;&gt;React&lt;/mark&gt; &lt;mark class=&quot;highlight&quot;&gt;Router&lt;/mark&gt;&lt;/div&gt;
&lt;/a&gt;</content:encoded></item></channel></rss>