typescript 实验应用目录中的NextJS13库初始化[重复]

owfi6suc  于 2023-05-08  发布在  TypeScript
关注(0)|答案(1)|浏览(198)

此问题已在此处有答案

Next.js app folder: is there some "entry point"? A direct replacement for _app.tsx?(1个答案)
You're importing a component that needs useState. It only works in a Client Component, but none of its parents are marked with "use client"(1个答案)
9小时前关闭
在新的NextJS 13推出实验性的app目录后,初始化LogRocket等库的方法是什么?例如,我曾经使用_app.tsx文件中的useEffect脚本初始化它,如下所示:

import LogRocket from 'logrocket';

useEffect(() => {
  if (process.env.NODE_ENV === 'production') {
    LogRocket.init(process.env.NEXT_PUBLIC_LOGROCKET_APP_ID);
}, []);

现在,NextJS抱怨说useEffect钩子无法在服务器端组件上调用,因为我试图从layout.tsx运行此代码。全局注入这样的脚本的新方法是什么?

mi7gmzs6

mi7gmzs61#

希望你已经使用npm install logrocket安装了这个库。
您只需要使用return语句返回所有页面。

useEffect(() => {
    if (process.env.NODE_ENV === 'production') {
      LogRocket.init(process.env.NEXT_PUBLIC_LOGROCKET_APP_ID);
    }
  }, []);

  return <Component {...pageProps} />;

确保useEffect应该在函数内部。这会为你工作。

相关问题