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

Sanity CMS字段重命名后前端获取返回undefined排查求助

问题排查与解决

你遗漏的关键操作集中在旧文档数据同步和缓存验证环节,具体如下:

1. 更新Sanity Studio中已发布的旧文档

重命名Schema字段后,之前发布的文章仍保留旧字段h1的数据,不会自动映射到新字段maintitle。你需要:

  • 打开本地Sanity Studio(默认地址http://localhost:3333)
  • 找到所有已发布的文章文档,逐个打开后重新点击发布按钮
  • 操作后Sanity会将旧字段h1的值同步到新字段maintitle中(新手手动操作更稳妥,批量迁移可后续学习Sanity CLI脚本)

2. 确认GROQ查询是否包含新字段

尽管你更新了fetch语句,仍需确保GROQ查询里明确指定了maintitle。示例正确查询:

*[_type == "article" && slug.current == $slug][0]{
  title,
  slug,
  maintitle, // 需明确包含该字段,或用`...`获取全部字段
  // 其他业务字段
}

如果用...获取全部字段,需重启Sanity服务器让Schema更新生效,否则查询可能无法返回新字段。

3. 清除本地缓存

  • 重启Sanity Studio本地服务器(停止npm run dev后重新启动)
  • 重启网站项目的开发服务器
  • 若为Next.js项目,删除.next文件夹清除静态缓存后重新构建

完成以上操作后,article.maintitle即可正常获取数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 01:45:02