如何在 Next JS 13 中使用服务器端组件的上下文 API?

huangapple go评论78阅读模式
英文:

How to use Context API in Next JS 13 with server-side components?

问题

在Next.js 13中,是否可以在服务器上获取数据,然后将其传播到Context API?

在我的情况下,我想通过令牌在服务器上获取用户信息,然后将其传递给Context API,因为我可能会在应用的其他地方使用用户数据。问题在于Context API是客户端技术,所以无论我想在哪里使用它,最终都要声明具有'use client'的客户端组件。是否有可能兼顾这两个世界的优势?

英文:

Is it possible in Next JS 13 to fetch data on the server but then propagate it to Context API?

In my case, I want to fetch user information via token on the server, but then pass it to Context API since I may use user data somewhere else in the app. The problem is that Context API is a client-side technology, so wherever I want to use it I end up declaring client components with 'use client'. Is it possible to get the best of two worlds?

答案1

得分: 1

无法在ServerSide组件中使用上下文。您可以使用zustand来创建不需要将元素包装在提供程序内的全局状态。

英文:

It is not possile to use context with ServerSide component. You can use zustand for creating global state that does not require elements to be wrapped inside a provider.

huangapple
  • 本文由 发表于 2023年7月10日 18:39:28
  • 转载请务必保留本文链接:https://go.coder-hub.com/76652929.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定