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

Nextjs 一定走偏了

  •  2
     
  •   fescover 2023-07-23 17:46:02 +08:00 4825 次点击
    这是一个创建于 812 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 支持了这一特性而已。
    bgm004
        10
    bgm004  
       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     Solana     2434 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 15:33 PVG 23:33 LAX 08:33 JFK 11:33
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86