【问题标题】:Contentful and Next JS - Issues with content not showingContentful 和 Next JS - 内容不显示的问题
【发布时间】:2021-07-29 19:08:40
【问题描述】:

所以目前,我正在使用前端的 Next Js 创建一个网站,并将内容用作我的 CMS。

我有不少页面使用内容函数来获取数据:

export async function getStaticProps() {
  const client = createClient({
    space: process.env.NEXT_CONTENTFUL_SPACE_ID,
    accessToken: process.env.NEXT_CONTENTFUL_ACCESS_TOKEN,
  });

  const res = await client.getEntries({ content_type: "MYCONTENT" });

  return {
    props: {
      MYCONTENT: res.items,
    },
  };
}

想象一下这段代码大约有 30 页。然后我使用此代码过滤和映射我需要的项目:

{MYCONTNET
            .filter((e) => e.fields.tag === "design tools")
            .map((content) => {              
              return (
                <ToolsCard
                  key={content.fields.title}
                  title={content.fields.title}
                  para={content.fields.tagline}
                  url={content.fields.url}
                  img={content.fields.img.fields.file.url}
                />
              );
            })}

最近我遇到了一个问题,即并非所有项目都传递到前端。

我唯一的解决方案是在内容上重新发布内容,但是当我这样做时,它似乎会对其他页面产生影响。即使我尝试控制台日志,我也看不到正在传递的数据。

它显示了this image,这里是more detailed image

我不确定问题是什么,它工作正常,但是当我开始添加更多内容时,这个问题出现了。

如果有人可以提供帮助,那就太好了。提前致谢。

【问题讨论】:

  • 您是否在控制台中遇到任何错误,或者只是看到的数据少于应有的数据?您可以尝试 npm run build 看看是否有任何错误吗?听起来您可能还想考虑将“createClient”代码移动到一个地方,而不是创建例如30 个客户端实例。可能是您受到速率限制或存在竞争条件。
  • 嘿@whitep4nth3r,我认为你是对的,问题似乎可能是因为我在所有页面上都有 createClient 代码。将寻求单独创建。会让你知道它是否有效。感谢您的建议。
  • 祝你好运!让我们希望它有效。
  • @whitep4nth3r 抱歉,您如何将 createClient 代码移动到一个位置并将其引用到其他页面?

标签: next.js frontend content-management-system contentful contentful-api


【解决方案1】:

答案:

所以我没有意识到,我需要增加限制参数。我有超过 113,但默认值为 100。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    相关资源
    最近更新 更多