Next.js应用路由在部署到Netlify后的行为不同

vmdwslir  于 2023-06-29  发布在  其他
关注(0)|答案(2)|浏览(89)

我目前正在开发一个Next.js应用程序(版本13.4.1),并遇到了新的应用程序路由功能的问题。在我的本地开发环境中,一切都按预期工作,但一旦部署到Netlify,我就会遇到不同的行为。
我的应用程序具有以下结构:

app
 |-- (dashboard)
   |-- agenda/page.tsx
   |-- seating/page.tsx
   |--layout.tsx

我在 Jmeter 板布局文件(dashboard/layout.tsx)中有一个简单的导航栏:

'use client'

import Image from 'next/image'
import Link from 'next/link'

export default function DashboardLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <>
      <header className={styles.dashboardHeader}>...</header>
      <ComponentThatHasUseEffect />
      <nav className={styles.dashboardNav}>
        <Link href="/seating">Seating</Link>
        <Link href="/agenda">Agenda</Link>
      </nav>
      {children}
    </>
  )
}

议程/页面和座位/页面看起来像这样:

'use client'

export default function Agenda() {
  // this custom hooks uses useSWR to fetch logged in users
  const { user, isLoading, error } = useUser()

  if (isLoading) {
    return (
      <main className={styles.agenda}>
        <Placeholder height={800} />
      </main>
    )
  }

  return (
    <main className={styles.agenda}>
      ...normal stuffs
    </main>
  )
}

当在本地单击导航栏链接时,子组件会重新呈现,而不会像预期的那样刷新页面。但是,当在Netlify中运行相同的代码时,单击导航栏链接会触发整个页面刷新,就像它们是典型的标记一样。
我没有为Netlify做任何特殊的配置或设置,只是按原样推送我的代码。我正在寻找一个解决方案,在部署后保持预期的行为。任何指导或建议将不胜感激。谢谢你!

t5zmwmid

t5zmwmid1#

你好,如果你还没有找到答案,这是一个ongoing issue
我在Netlify上部署的一个项目也遇到了这个问题。

ijxebb2r

ijxebb2r2#

你可以使用“next”:“13.3.1”,这将工作正常

相关问题