next.js13中的app目录有什么意义?

h5qlskok  于 2023-03-02  发布在  其他
关注(0)|答案(1)|浏览(414)

我试图在next.js 13中设置next-auth。为了能够在app目录中使用useSession,我必须使用use client将页面转换为客户端页面。
然后,我需要将_app.jsSessionProvider和布局文件 Package 在app目录中

export default function App({
  Component,
  pageProps: { session, ...pageProps },
}) {
  return (
    <SessionProvider session={session}>
      <Component {...pageProps} />
    </SessionProvider>
  )
}

app组件中的RootLayout

export default function RootLayout({ children }) {
  return (
    <html>
      <head />
      <body>
      <SessionProvider>{children}</SessionProvider>
      </body>
    </html>
  );
}

现在我重复自己两次,如果我想使用next-auth,我必须将服务器页面转换为客户端。在这个项目中使用app目录还有什么好处吗?将来,我可能会有类似的设置用于不同的目的。

gwo2fgha

gwo2fgha1#

一开始,我认为app目录会使next.js应用程序的设计变得更加复杂,客户端渲染和服务器渲染性能之间的差异不会那么大。
然后我意识到这与scalability有关。我们可以无限地扩展服务器,但浏览器资源有限。我们总是可以为服务器增加更多的计算能力,但我们不能为客户端这样做。由于服务器组件包留在服务器上,如果我们想更快地执行代码,我们只需为服务器增加更多的计算能力

相关问题