next.js 接下来,当我接受slot作为rootlayout中的 prop 时,js并行路由会破坏所有路由

cigdeys3  于 2023-05-22  发布在  其他
关注(0)|答案(1)|浏览(169)

我在应用程序文件夹中有一个名为@auth的插槽。在@auth文件夹中,我有一个带有页面的login文件夹。jsx文件夹包含以下代码

import LoginPopup from "@/components/Popups/LoginPopup/LoginPopup";

const Login = () => {
  return <LoginPopup />;
};

export default Login;

我在我的app/layout.jsx中有这个根布局

import Header from "@/components/Header/Header";
import Footer from "@/components/Footer/Footer";
import "./globals.css";

export const metadata = {
  title: "SanSearch",
  description: "Сайт по поиску юридических документов",
};

export default function RootLayout({ children, auth }) {

  return (
    <html lang="ru">
      <body className="font-text" suppressHydrationWarning={true}>
        <Header />
        {children}
        {auth}
        <Footer />
      </body>
    </html>
  );
}

当我尝试接受认证插槽作为一个 prop ,并呈现它与儿童在我的布局我的路由得到某种程度上毁了,并得到404页的每一个路线,我试图得到。但当我删除auth作为我的 prop 一切都恢复正常。我想实现我可以在下一个js中使用并行路由来创建上下文模式。我不想做一个拦截路线,因为我没有一个页面作为弹出。只有弹出,可以实现路由/登录页面和页面背后我的弹出仍然可以保存。

yfjy0ee7

yfjy0ee71#

在接下来的js文档中没有提到,但我需要在slot中的所有路由中添加page.jsx和default jsx。我在@auth和@auth/login中添加了返回null的default和page jsx,它工作了。
https://github.com/vercel/next.js/issues/48749

相关问题