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

Next.js+Axios拒绝设置Cookie头却成功设置的问题求助

Next.js开发中的两个问题排查与解决

一、控制台两次提示拒绝设置Cookie但实际成功的原因

  • 双重渲染引发重复请求:Next.js开发模式下会执行服务器端渲染(SSR)和客户端渲染(CSR)两次渲染流程,每次都会触发useEffect内的接口请求,两次请求都会触发Cookie校验逻辑,因此出现两次拒绝提示。其中某次请求符合Cookie设置规则,最终Cookie成功写入。
  • 重复传递Cookie导致冲突:你同时开启了withCredentials: true(浏览器会自动携带当前域Cookie)和手动在请求头添加Cookie字段,这种重复传递会触发浏览器两次Cookie校验,进而产生两次拒绝日志。

修复方案

去掉请求头中手动添加的Cookie,依赖withCredentials: true自动携带即可:

axios.get("http://localhost:4000/api/auth/status", { withCredentials: true })

二、Sidebar组件props的user为undefined的原因

你在接口回调中错误地将初始状态的user传给了setUser,而非接口返回的data,导致user状态始终未更新为正确的用户数据:

// 错误写法
setUser(user);
// 正确写法
setUser(data);

额外优化

给useState设置明确的初始值,避免undefined带来的潜在问题:

const [user, setUser] = useState(null);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 05:48:06