【问题标题】:Context is shared between different users上下文在不同用户之间共享
【发布时间】:2019-09-02 18:11:00
【问题描述】:

错误

当在其他请求中间有对 NextJS 的请求时,上下文将在这些请求之间共享。

复制

这里是 repo,其中包含重现错误所需的代码:https://github.com/matigda/nextjs_issue

  • 克隆回购
  • 运行 npm install
  • 运行 npm run dev
  • 在两个单独的浏览器中打开http://localhost:3000(或者只打开一个 窗口处于私人模式)但在第一个窗口时打开第二个窗口 仍在加载。在那之前打开你的控制台
    • 您可以 还设置 document.cookie = 'token=whatever you wish' (只是为了看看 结果在控制台)。如果您设置了 cookie - 刷新页面 你没有设置这个cookie,然后立即刷新 第二个窗口中的页面。
  • 如果您没有设置 cookie,您只需 看到两个ID是一样的。如果您设置 cookie,您还将 请注意,AuthStore 中的令牌在两个页面上都是相同的,即使 其中一个页面上没有 cookie。所以基本上 - 如果请求 A 先运行然后中间出现request B,A request 从 B 请求接收数据。因此,如果您以另一种方式运行此测试( 这意味着您首先使用设置的 cookie 运行窗口,然后 没有cookie)你会看到之后没有设置令牌 页面已加载,即使 cookie 存在。

预期行为

嗯...我认为在这种情况下不希望在用户之间共享这些对象是很糟糕的。但我不确定这是否不仅仅是我的“withMobxStores”容器中的一个错误,所以请先看看那里。

如果可以理解,请告诉我 - 如果不能,我可以录制 GIF 以显示正在发生的事情。

【问题讨论】:

    标签: javascript reactjs next.js mobx server-side-rendering


    【解决方案1】:

    如果有人想知道它到底是什么 - 这是回复:https://github.com/zeit/next.js/issues/8588

    基本上以某种方式全局变量在服务器中的某个短时间内共享。不知道确切的时间(取决于处理时间?),但我希望对此有进一步的解释。

    【讨论】:

      猜你喜欢
      • 2017-08-17
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 2019-08-20
      • 1970-01-01
      相关资源
      最近更新 更多