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

Next.js 13开发环境页面双重渲染问题求助

Next.js 13开发环境下组件双重渲染问题

说明: 此问题与另一React相关问题有关,但在Next.js中的解决方案存在差异。

我使用Next.js 13搭建的项目中遇到双重渲染问题:通过create-next-app创建的项目,执行next dev启动开发环境时,页面总是渲染两次:

// 项目由`create-next-app`生成
// pages/index.js
import { useEffect, useState } from 'react'

export default function Home() {
  console.log('render')

  const [state, setState] = useState(() => {
    console.log('state initialize');
    return 'state';
  })

  useEffect(() => {
    return () => {
      console.log('unmounted')
    }
  }, [])

  return (
    <div>
      Home
    </div>
  )
}

控制台输出截图

甚至惰性状态初始化也执行两次,最后还会触发卸载日志。我认为这并非重新挂载,而是组件被创建了两次。但执行next build && next start启动生产环境时,页面仅渲染一次,表现正常。

期望行为
在next dev开发环境中,页面仅渲染和初始化一次。


内容的提问来源于stack exchange,提问作者Ruben Santana

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 03:42:52