我如何将数据存储在可从任何地方访问的 nextjs 中

How do i store data in nextjs that is accessible from anywhere

我有一个 nextjs 应用需要根据用户的输入发出 api 请求。现在 api 请求需要一个令牌,我想在应用程序启动时以及我需要的任何时候根据来自 getServerSideProps 的用户数据或其他东西生成。我查看了很多选项,例如将其保存在 cookie 和会话中,但我认为我的用例无法达到目的,而且我还想了解如何在 nextjs 中完成它。 基本上我需要一个

const data = {}

可从服务器上的每个请求访问,因此当服务器收到请求时,它不必重新获取它已有的数据。

这是个好问题。

静态数据

如果您有静态数据,那么您的解决方案不言自明。只需导出它,以便所有其他文件都可以导入。

  const data = {}
  export default data

客户数据

但是在你的情况下,你说的是静态的,但数据不是,例如。用户信息必须由 API 之一解析,然后从现在起作为“静态”存储在某处。所以它不是静态的。

如果是客户端 (cookie),您可以直接连接该变量,例如在 Next Auth 中。 https://next-auth.js.org/getting-started/example

服务器数据

如果是服务器数据,则需要通过您的 API /pages/api 之一进行持久化。在那之后是的,你可以通过 getServerSideProps 把它放到 _app.js.