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

Sanity与Next.js问题:前端无法读取Sanity项目,Socials数据不显示

排查Sanity Socials数据前端不显示问题
  • 核对Sanity数据与查询匹配度
    先在Sanity Vision工具里执行GROQ查询,确认能拿到Socials数据:

    *[_type == "socials"]{platform, url}
    

    注意字段名大小写要和Studio里的文档结构完全一致,同时检查文档是否已发布(草稿状态的数据无法被前端读取)。

  • 验证前端数据获取流程
    查看前端的Sanity客户端配置,确认项目ID、数据集名称正确。在数据请求代码里加日志,确认数据是否成功返回:

    const socials = await sanityClient.fetch('*[_type == "socials"]');
    console.log('Socials 数据:', socials);
    

    排查是否存在异步加载顺序问题,比如组件渲染时数据还未请求完成,导致渲染空内容。

  • 检查前端渲染逻辑
    打开渲染Socials的组件代码,确认正确遍历了数据数组:

    {socials?.map(social => (
      <a key={social._id} href={social.url} rel="noopener noreferrer" target="_blank">
        {social.platform}
      </a>
    ))}
    

    同时确认组件的socials props是否正确传递,没有被误赋值或遗漏。

  • 确认Sanity API权限
    如果使用了私有数据集,检查API令牌是否拥有读取权限;公开数据集则确认项目设置中已开启公开数据访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 20:13:10