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

next.js 13 能像 nuxt.js 3 一样在不同端用不同的请求方式嘛?

  •  
  •   Outshine · 2023-04-04 01:23:23 +08:00 · 1318 次点击
    这是一个创建于 601 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚用 nextjs (版本为 13.2 并使用 app 目录),发现如果是服务端组件,无论是直接请求还是从其它页面过来,页面的 API 都会在服务端请求并渲染好 html 。

    而 nuxtjs 会自动识别这两种情况,如果是直接请求,则走服务端请求并渲染好 html ,否则就和 SPA 一样,在客户端请求 API 并渲染页面。

    感觉 nextjs 这样反而会增加前端服务器的压力。


    我有两个疑惑:

    • 这样做有啥优点嘛(无论什么情况都在服务端请求 API 数据并渲染)?
    • 有什么办法能改造成 nuxtjs 一样的方式嘛?

    先谢过各位吴彦祖,来自一个刚从 vue 转到 react 的小菜

    3 条回复    2023-04-04 18:03:47 +08:00
    Juppiter
        1
    Juppiter  
       2023-04-04 10:32:55 +08:00
    不太理解你的意思,fetch Data 你完全可以做到直接从客户端去取到数据(用 useEffect 或者 useSWR 这种封装的 hooks )。而且前端服务器压力可以通过 cdn cache 的方式解决掉啊。
    fd9xr
        2
    fd9xr  
       2023-04-04 12:49:42 +08:00 via iPhone
    first paint with useable content, 没压力, 不能
    Outshine
        3
    Outshine  
    OP
       2023-04-04 18:03:47 +08:00
    @Juppiter 如果使用了 `useEffect` 那么这个组件就必须声明为客户端组件了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5664 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 386ms · UTC 07:33 · PVG 15:33 · LAX 23:33 · JFK 02:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.