我正在使用该目录构建 Next.js 13 项目/app。我有一个问题 - 在根布局中,我有一个永久的导航栏组件,该组件是从/components/Navbar.jsx. 基本上在 内部Navbar.jsx,我希望能够访问 url 中的 slug 参数,例如:localhost:3000/:slug我想要其中的 slug id。我已经为该 slug 定义了 Next.js 13 page.jsx。但是如何获取导航栏组件中的 slug id。我也不想使用,window.location.pathname因为当页面路由到不同的 slug 时它不会改变,并且仅在我刷新时才会改变。
我尝试过旧的 Next.js 12 方法:
//components/navbar.jsx;
import { useRouter } from "next/navigation";
export default function Navbar () {
const router = useRouter();
const { slug } = router.query;
useEffect(() => {
console.log(slug);
}, []);
return <p>Slug: {slug}</p>
}Run Code Online (Sandbox Code Playgroud)
然而它不起作用。
如何将 props 传递给布局的 page.jsx ?(下13)
//app/blog/layout.jsx
export default function RootLayout({ children }) {
return (
<div>
<Navbar />
<Sidebar />
{/*How do I pass any props from this root layout to this {children} that Im getting from page.jsx*/}
{children}
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
基本上,如何将 prop 传递给函数 prop(Next.JS 13)?
我们如何在 nextjs 13 中使用布局进行动态路由?
我在新的下一页应用程序中有一个目录,我在其中尝试进行动态路由:app/dashboard/[id].jsx,但是它不适用于仪表板布局。
我该怎么做?普通页面的工作方式是这样的app/dashboard/pages.jsx,但是我们如何做动态路由,在其中我也可以获得 id 呢?