吐槽一个 nextjs 中并不存在的槽点 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
epiloguess
V2EX    前端开发

吐槽一个 nextjs 中并不存在的槽点

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

    很多人讨论 nextjs 不支持在 server component 中使用 hooks 感到不解/不满。

    其实我对这种观点本身也挺不解的,毕竟 server component 只是在服务端渲染 react 组件(这一点 vite 也能做到),如果它要支持 hooks 了,我反倒觉得匪夷所思了。

    8 条回复    2024-12-22 20:58:18 +08:00
    wisetc
        1
    wisetc  
       292 天前 via iPhone
    件生命期原因,以及化程,在 node 中渲染有意,缺失了在器中的交互程,而只得到一可以在器中得到的果
    Frankcox
        2
    Frankcox  
       292 天前
    我现在是正在学 Next.js ,请教一下,async/await is not yet supported in Client Components, only Server Components. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server. Error Component Stack 。 客户端组件是不应该使用 async await 的,那是应该把 async 获取数据的部分和组件页面内容分开两个文件处理吗?
    9ki
        3
    9ki  
       292 天前
    要怪就怪 useEffect 的设计,心智负担重不提,还只能在里面获取数据,要知道 Nextjs 开发者首先是 React 开发者。

    还有一方面,Hooks 的一大优点就是可以共享逻辑,但是用 getStaticProps/getServerSideProps 完全丧失了这部分优势。
    epiloguess
        4
    epiloguess  
    OP
       292 天前
    @Frankcox 这取决于 1.组件渲染发生的位置,你希望发送给用户一个渲染好的结果(注重渲染速度),还是发送一个 rsc 让浏览器自己渲染(注重交互),2.数据请求发生的位置,一般来说服务器相比用户,更靠近数据库,但是你 await 的这个请求,不一定是你的 api ,它可能是个第三方的,有次数限制的。
    Frankcox
        5
    Frankcox  
       292 天前
    @epiloguess 谢谢,我目前的场景是 React 调用第三方 api ,拿到数据后自己处理渲染。
    Plumbiu
        6
    Plumbiu  
       292 天前
    可能他们用惯了 vue ,vue 响应式确实可以脱离浏览器环境,然后理所应当的觉得 nextjs 的 rsc 也可以用 hooks ,但凡稍微了解一下 react 的设计理念啥的(虽然我觉得好不到哪里去),hooks 运行在服务端一点都不合理,这点直觉都没有吗....
    MagicalCarl
        7
    MagicalCarl  
       292 天前
    没有感到不解/不满,让我不满的是所有组件默认是 server component
    karott7
        8
    karott7  
       292 天前
    我觉得不是 server component 或者 hooks 的问题,只能说做全栈或者 ssr 就是有心智负担,因为服务端和客户端的运行时和组件运行逻辑终究是不同的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2840 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 14:09 PVG 22:09 LAX 07:09 JFK 10:09
    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