V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Rosen2
V2EX  ›  程序员

React Router V7 初尝试

  •  1
     
  •   Rosen2 · 59 天前 · 2736 次点击
    这是一个创建于 59 天前的主题,其中的信息可能已经有所发展或是发生改变。

    做了语音转文本的工具,没有采用 Next.js, 改用了 React Router V7 ,以下是个人体会:

    优点:

    1. 因为用了 vite ,本地启动很快
    2. RR7 原理比较简单透明,客户端和服务器渲染入口可以定制,即使生态不完善,也能摸索出来怎么改,比如 i18n
    3. cloudflare 对 rr7 有官方支持,基本上使用官网模板就可以用,而且也不难理解
    4. 支持代码配置路由,要比文件路由用起来简洁好多

    缺点:

    1. 生态不完善,比如 i18n
    2. 除了 get 之外的请求都打到 action ,需要额外判断
    3. loader 和 action 没有内置类型校验

    整体用起来还不错,用起来比 nextjs 心智负担小很多。

    网站 Easy2Text

    整体技术栈:

    1. 框架:React Router V7
    2. 认证:Better-auth
    3. 数据库:Cloudflare D1
    4. 存储:Cloudflare R2
    5. 支付:Creem
    6. UI:Shadcn UI
    7. 接口:Replicate
    13 条回复    2025-07-29 14:25:58 +08:00
    mogita
        1
    mogita  
       59 天前 via iPhone
    从 remix 用过来,个人项目没再碰过 next.js 。非常轻松,彻底让人愉悦的框架,功能上不缺东西,但确实不够丰富。
    DICK23
        2
    DICK23  
       59 天前
    我现在所有技术栈全投靠 tanstack 家了
    Leon6868
        3
    Leon6868  
       59 天前
    楼主这个工具收入怎么样?
    Rosen2
        4
    Rosen2  
    OP
       59 天前
    @Leon6868 才刚上
    Rosen2
        5
    Rosen2  
    OP
       59 天前
    @DICK23 tanstack 好用吗?
    ByteCat
        6
    ByteCat  
       59 天前
    一直在用 TanStack Router ,生成类型真爽
    lqm
        7
    lqm  
       58 天前
    没有中间件支持有点不方便
    Rosen2
        8
    Rosen2  
    OP
       58 天前
    @lqm 新版本有,不过是实验功能。有人把 rr7 的后端替换成了 hono ,不是分开部署,是利用 hono 处理请求,完美利用 hono 的能力
    Danswerme
        9
    Danswerme  
       58 天前
    @DICK23
    @ByteCat 请教下两位,在 TanStack Router 中怎么实现全局的路由守卫呢? 我现在的做法是将 createFileRoute 封装起来,在 beforeLoad 里统一做判断。
    Philippa
        10
    Philippa  
       58 天前 via iPhone
    Tanstack 很好用,有了 AI 后就更好用了。没有魔法的框架出事时也容易 debug ,Next 一坨,漏掉 use client 那个 debug 完全不相关。
    ByteCat
        11
    ByteCat  
       58 天前
    @Danswerme #9 好像是用 Outlet 包一下就行吧,我做后台一直这么干,不知道有更好的吗
    lqm
        12
    lqm  
       58 天前
    @Rosen2 #8 我现在还在用 remix ,后端改成 express 去实现乱七八糟的功能
    DICK23
        13
    DICK23  
       57 天前   ❤️ 1
    @Danswerme 做鉴权吗?直接在__root.tsx 的 beforeLoad 中处理就行。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3020 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:15 · PVG 20:15 · LAX 05:15 · JFK 08:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.