Next.js

Next.js中的脚本警告

我需要帮助,我在Next.js版本16中一直收到这个脚本警告。我正在尝试使用 next-themes 来实现浅色模式和深色模式。 ## Error Type Console Error ## Error Message Encountered a script tag while rendering React component. Scripts inside React components are never executed when rendering on the client. Consid

在Next.js和 Tailwind中,全屏区域之间的平滑滚动对齐有时会跳过某些区域或卡住

我在用Next.js和 Tailwind CSS构建一个前端应用,每个区块都占满整个视口高度(100vh)。我想实现一个“滚动到下一个区块”的行为(类似滚动捕捉/滚动对齐),每次滚动恰好向上或向下移动一个区块。 此外,每个区块使用 md:sticky top-0 以创建堆叠动画效果。 当前实现 我在使用一个 wheel 事件手动处理滚动: useEffect(() => { if (window.innerWidth < 1024) return; let isAnimating = false; let

在POST请求中使用multipart/form-data上传图片时,Next.js API返回500错误

我正在做一个Next.js项目,并在Apidog中测试一个POST API端点。 端点: POST http://localhost:3000/api/blog 请求体: 我正在使用 multipart/form-data 发送以下字段: 标题 描述 作者 作者图片 分类 image(文件上传) 问题: API返回: 500内部服务器错误 响应体为空 验证提示: HTTP状态码应为200 内容类型应为JSON 我的问题: 为什么在发送带图片上传的表单数据时,我的Next.js API会返回500? 在Ne

Next.js并行路由

我在Next.js中使用并行路由,想让头部在路径相关的情况下具有或没有链接功能。但构建时,输出如下,我完全不理解它想表达什么: > next build --webpack ▲ Next.js 16.1.6 (webpack) - Environments: .env.local Creating an optimized production build ... ✓ (serwist) Bundling the service worker script with the URL '/sw.js' an

在我的Next.js应用的App Router中,当在动态路由段之间导航时,为什么路由变化时useEffect不会执行?

我正在用Next.js 14搭建一个应用,并使用App Router。我有一个动态路由 /products/[id],并且在使用 useEffect,把 params.id 作为依赖,在用户切换到不同的产品时获取数据。 问题: 当我从 "/products/1" 使用 导航到 "/products/2" 时,useEffect 不会重新运行。组件不会因新产品数据而重新渲染——页面仍然显示旧的产品。 app/products/[id]/page.tsx: 'use client'; impor

服务器错误TypeError:无法读取未定义对象的属性(读取 'replace') Next.js

我遇到了这个错误,但我真的不知道从哪里开始调试。有人能帮我吗? 我的系统起初工作正常。我想把一个用户包裹到cookie令牌中,使用户变成Premium,但失败了。 能否指点我如何调试并检查错误出在哪儿?我尝试移除中间件,结果一切又恢复正常。 错误截图 my middleware.ts const handleI18nRouting = createMiddleware(routing); function detectLocale(req: NextRequest) { const country = r

在Next.js 15的 App Router中,当用户离开某个页面时,如何显示模态框或弹出窗口?

我正在用Next.js 15(App Router)构建一个发布平台,我有一个在发表文章后用户会到达的分享页(/share/[id])。当用户离开该页前往平台上的任意其他页面时,我想显示一个推广弹窗(自定义模态框,而不是浏览器原生的beforeunload对话框)。 问题在于,我还没搞清楚在App Router中检测“离开页面”的正确方法。 我试过的办法: 把模态框渲染在分享页内部,但在导航发生时组件会立刻卸载,因此模态框在用户看到它之前就被销毁了。 beforeunload 事件,这个只在用户关闭标签页

解决未升级到next-i18next时因Layout.tsx导致的在切换语言时出现的react-i18next hydration错误

在语言切换之间刷新或重定向到页面时,我遇到了一个 react-i18next 水合错误。 水合失败,因为服务器渲染的文本与客户端不匹配。 因此,这个树结构将在客户端重新生成。若使用了SSR的客户端组件: 然而,将其升级到 next-18next 的 推荐解决方案 对我不起作用。它需要 appWithTranslation(App) 的封装,我们由于 layout.tsx 的做法而无法提供。 据Google指出: appWithTranslation HOC与 App Router的 layout.tsx不

Next.js自动将带有语言代码的遗留URL(如以“-es”结尾的URL)重定向到核心页面,并通过i18next实现自动翻译

我们在Next.js中结合 i18next,对一个带有EN/ES双语的应用进行了重构。它可以工作,但需要支持遗留应用中启用西语的URL,例如 /page1-es、/page2-es,使其能重定向到新应用的 /page1 和 page2,并在组件内实现自动的 i18next 翻译。 由于在重定向时无法传递自定义数据(URL也不显示任何参数),我当前的代码是:在Next.js的 not-found.tsx 中指定对相应新页面的重定向,同时设置一个 sessionStorage 属性,稍后可以从拥有 i18ne

使用Next.js App Router的 @supabase/ssr:通过魔法链接登录后,地图标记会消失

我正在用 @supabase/ssr 构建一个基于 Next.js 15 App Router 的应用,用于身份认证。该应用在地图上显示带地理参考的报告。 对 匿名用户 来说,一切都正常——报告如期加载。然而,用户通过 魔术链接(邮箱中的一次性验证码) 登录后,在完成登录后的重定向后,地图上的报告消失。 在Supabase的 Discord社区里,有用户建议在SSR环境中使用一个 模块级Supabase单例 可能会带来问题。我正在尝试找出根本原因以及修复的正确模式。 认证流程 用户请求魔术链接: sign