【发布时间】:2016-02-23 17:18:34
【问题描述】:
我正在将 Meteor 与 React 一起使用,但在注销功能方面遇到了问题。当我在同一个浏览器上打开超过 2 个选项卡时,如果我从一个选项卡注销,则其他打开的选项卡不会被注销,但如果我使用它会挂起。退出的方式只有两种:关闭标签页或刷新标签页。
我尝试了相同的登录功能,它成功了,登录状态在所有打开的选项卡之间同步。
我当前调用注销功能的代码:
signOut: function(event) {
event.preventDefault();
Meteor.logout();
this.props.history.pushState(null, "/");
},
感谢您的帮助。
更新: 我检查了 websocket,似乎服务器确实发送了注销状态,但我的客户端代码没有调用注销方法(或者它挂起)。然后挂起选项卡中的每个数据仍然存在。但我不知道如何进一步检查。
【问题讨论】:
-
其他标签不应该也不应该调用
logout()方法。它只是更改了响应式Meteor.userId()属性。在userId()为null时,是否检查向用户传递数据的发布中的 userId 并避免发送数据? -
感谢@MasterAM。我找到了解决方案。
标签: javascript meteor reactjs meteor-accounts