使用 React 阻止加载时间从 CMS 获取数据的最佳方法?

Best way to fetch data from a CMS with React preventing loading time?

所以我想用wordpress作为CMS来管理内容,用React来为客户开发一个网站。

我知道将 Graphql 与 Gatsby 或 Next.js 结合使用可以获取 de CMS 内容并为每个项目生成静态页面,当用户访问该网站时,它会立即加载而无需任何加载时间。这是完美的,但是当涉及到部署网站时,它必须在像 Netlify 或类似的服务上,以便在 CMS 更新时触发新构建。 这是一个问题,因为客户希望为 CMS 和网站使用相同的托管服务。

其他选项是在用户第一次访问网站时加载所有数据,并使用上下文 API 保存。但这可能需要很长时间,而且对用户体验来说真的很糟糕...

那么,有没有什么方法可以获取所需的数据,并且用户可以在没有加载时间的情况下看到呈现的页面?为了能够将静态文件与wordpress CMS一起部署到客户端托管服务。

非常感谢,如果我不能说得更清楚,请见谅。

你需要的是webhook。基本上,Webhook 是应用程序在 real-time 中发生新事件(例如创建、修改、删除 post 或任何类型的内容时通知另一个应用程序的一种方式。

Netlify(或类似的),因为它是一个 CD(Continuous Demployment)工具,添加该功能是因为所有内容都是一个 PR (Pull Request) 在你的 Git 存储库中所以,一旦推送到主分支完成,部署被触发。

同理,你可以在任何CMS中从头开始构建webhook,当然你需要双方共同开发才能实现相同的功能,但它比异步加载内容要好得多巨大 对 SEO 的负面影响。