在Next.js 12中,我使用了以下方法,当应用程序加载时,在客户端运行一次某个函数,例如:要将版本号记录到控制台,请执行以下操作:
// pages/_app.tsx
function MyApp({ Component, pageProps }: AppProps) {
useEffect(() => console.log(`v${process.env.NEXT_PUBLIC_VERSION ?? ''}`), []);
return <Component {...pageProps} />
}
如何在Next.js 13中使用app
目录而不是pages
目录进行相同的操作?根布局app/layout.tsx
是一个服务器组件,所以我不能在那里使用useEffect
。
1条答案
按热度按时间5vf7fwbs1#
一种方法是创建一个客户端组件,它只做日志记录,并在根布局中使用它:
但是,我不确定这是否有任何性能影响。