我想在我的NextJs应用中使用一个无头CMO(例如Sanity.io)。内容对SEO来说特别重要。如果我看对了,我只能通过getStaticProps服务器端接收页面级的数据,以预先呈现它(对SEO来说很重要)。
如果我现在想把数据从页面组件发送到一个嵌套很深的子组件,通过属性钻取会很麻烦,我首先想到的是使用React的Context API(参见代码)。
然而,我怀疑在构建过程中,Context API的状态并没有接管这些值(例如SEO文本),所以预呈现的页面并没有无头CMO的SEO内容。
是否有方法通过getStaticProps将无头CMO的值发送到深度嵌套的子对象,而不需要进行属性钻取?或者上下文API在SEO /预渲染方面是否适合?
第一个
2条答案
按热度按时间bvn4nwqk1#
Next.js的未来版本将使这一点变得更加容易,但同时您可以尝试使用SWR或React Query来获取数据以进行预呈现,然后在嵌套组件内进行查询。
fumotvh32#
有几种方法可以实现这一点。首先想到的是使用像React Context API这样的东西。然而,你也可以使用像Redux这样的东西。
以下是使用上下文API的示例: