V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fescover
V2EX  ›  前端开发

Nextjs 一定走偏了

  •  2
     
  •   fescover · 2023-07-23 17:46:02 +08:00 · 4183 次点击
    这是一个创建于 480 天前的主题,其中的信息可能已经有所发展或是发生改变。
    nextjs13 appdir 出来之后分成了 server component 和 client component ,两套不同的规则和写法,但是实际项目中又得考虑怎么拆分怎么嵌套,server component 无法使用事件监听、hooks 等(那同样是运行在服务端,人家 php 写 html 模板怎么就能用 onclick 呢),而 client component 无法使用 await fetch, form-action 等,同时路由规则,写法规则,api 也越来越多,极大增加了开发者的心智负担,只能说往服务端发展方向是正确的(反正最终目标就是 react+hooks 写法的 php ),但现阶段的 DX 非常差,在写完两个 appdir 项目后,决定暂时放弃 nextjs 了,等真正稳定下来再说。目前调研了几个其他方案,remix/qwik/astro ,惊喜地发现 qwik 解决了目前 nextjs 的大部分问题,大家也可以研究研究这个框架,很不错。
    15 条回复    2023-07-26 11:22:27 +08:00
    estk
        1
    estk  
       2023-07-23 17:52:00 +08:00 via iPhone
    你可以继续用 pagesdir
    theprimone
        2
    theprimone  
       2023-07-23 17:58:06 +08:00
    还在用 pages router 呢,大佬都弃坑了 😂
    amlee
        3
    amlee  
       2023-07-23 17:59:01 +08:00
    appdir 的文档我都懒得看,继续用 pages
    XCFOX
        4
    XCFOX  
       2023-07-23 18:14:13 +08:00
    不管是可读性、维护成本、性能、SEO ,Remix 都完胜 Server Component:
    https://remix.run/blog/react-server-components

    个人完全不能理解 Server Component 有什么用。
    原本大部分 SSR 的前端应用是为了支持 SEO ,结果 Server Component 都不支持 SEO ,那要 Server Component 有什么用?

    另外就是 Server Component 强行整了两套不同的规则和写法。
    隔壁 Nuxt.js( https://nuxt.com/docs/getting-started/data-fetching#usefetch ) 整的多好:直接在组件内 await fetch 。
    Leonard
        5
    Leonard  
       2023-07-23 18:35:31 +08:00
    我用 remix
    ychost
        6
    ychost  
       2023-07-23 19:12:42 +08:00
    最近再也巨硬的 Blazor ,挺好用的,真正的服务端一站式解决了,靠 Webhook 实现服务端 onlick
    k9982874
        7
    k9982874  
       2023-07-23 19:33:08 +08:00 via Android
    早前看 appdir 不支持 i18n 这一条就劝退了,不知道现在怎么样了
    YY
        8
    YY  
       2023-07-23 19:42:05 +08:00
    chatgpt 不会写 新版本,所以还是老版本更高效 /doge
    sphawkcn
        9
    sphawkcn  
       2023-07-23 19:53:47 +08:00
    Server Component 这个应该算是 React 的特性吧,只是 next.js 支持了这一特性而已。
    Track13
        10
    Track13  
       2023-07-23 21:02:50 +08:00 via Android
    主要是社区生态没有跟进,之前尝试过。遇到一些问题虽然解决了,但感觉不是最优解。社区对 rsc 的接受度好像一般。
    forgottencoast
        11
    forgottencoast  
       2023-07-23 23:23:29 +08:00
    @ychost
    你说的是 Blazor Server 吧?
    agdhole
        12
    agdhole  
       2023-07-23 23:36:49 +08:00
    整个 react 路子都在乱走
    laogui
        13
    laogui  
       2023-07-23 23:40:44 +08:00 via Android
    qwik 又要学新的写法,推荐 remix ,可以继续用 react 。
    ychost
        14
    ychost  
       2023-07-25 11:08:18 +08:00   ❤️ 1
    @forgottencoast .NET 8 Preview Blazor 已经开始支持 Webassembly 和 Server 混合渲染了
    22P
        15
    22P  
       2023-07-26 11:22:27 +08:00
    @k9982874 现在 App router 有 i18n 的示例了,但是没给客户端组件解决办法,推荐使用 next-intl
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5436 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:59 · PVG 14:59 · LAX 22:59 · JFK 01:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.