You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NextJS 13中如何让NavBar始终渲染在页面顶部?

Next13 布局渲染顺序问题

我正在构建一个Next13应用,新的Layout功能很实用,但渲染出现了问题,不太理解布局内元素的渲染顺序。

我的代码

"use client";
import Link from "next/link";

export default () => {
  return (
    <span className="flex justify-between">
      <h1 className="text-xl">Navigation Bar</h1>
      <ul className="flex gap-4">
        <li>
          <Link href="/">Home</Link>
        </li>
        <li>
          <Link href="/user/login">Login</Link>
        </li>
        <li>
          <Link href="/user/signup">Sign Up</Link>
        </li>
      </ul>
    </span>
  );
};

layout.tsx

import "./globals.css";
import NavBar from "./NavBar";

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html className="bg-slate-500 font-robslab" lang="en">
      <head>
        <title>Stylitique</title>
        <meta name="description" content="Generated by create next app" />
        <link rel="icon" href="/favicon.ico" />
      </head>
      <header>
        <NavBar />
      </header>
      <body>{children}</body>
    </html>
  );
}

page.tsx(首页)

export default function Home() {
  return (
    <main>
      <h1 className="text-green-500">HOME</h1>
      <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Tempora
        sapiente, expedita praesentium a eligendi dolorem maiores nihil
        consectetur ipsum, repudiandae sed deserunt delectus, facere repellat
        ipsam sit possimus voluptatibus error!
      </p>
    </main>
  );
}

已尝试的操作

  • 将NavBar放在body外的header标签中
  • 直接将NavBar放入body标签内
  • 开启和关闭"use client"指令
  • 增加HOME页面的数据以延迟渲染

请问有谁找到解决方案了吗?


内容的提问来源于stack exchange,提问作者Jesse Hickey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 04:35:47