Next.js 应用程序文件夹:是否有一些“入口点”?直接替代 _app.tsx 和 _document.js?

san*_*oco 6 javascript typescript reactjs next.js

以前,我有一个自定义程序_app.tsx,为我的应用程序进行了一些引导: useEffect(() => void defineCustomElements(), []);它加载自定义元素/Web 组件并确保它们可以被水合。

我现在应该把这个效果放在哪里,应用程序路由器1.没有“全局” _app.tsx,其次是“服务器组件优先”?

You*_*mar 8

升级指南页面上,他们说pages/_app.js并且pages/_document.js已被替换为单app/layout.js根布局”

如果您需要在布局中进行客户端交互,您可以执行以下操作,例如,使用在布局中导入的单独客户端组件:

// DefineCustomElements.js

"use client";

export default function DefineCustomElements() {
  useEffect(() => defineCustomElements(), []);

  return <></>;
}

Run Code Online (Sandbox Code Playgroud)
// app/layout.js

import DefineCustomElements from "./DefineCustomElements";

export default function RootLayout({ children }) {
  return (
    <html lang="en">
      <body>
        <DefineCustomElements />
        {children}
      </body>
    </html>
  );
}
Run Code Online (Sandbox Code Playgroud)