如何检测用户离开网站?

时间:2018-07-17 06:37:33

标签: redux socket.io react-router

我正在使用react-router的{​​{1}}和BrowserRouterRoute。我想在用户离开站点或注销时调度操作。我也在使用Redux,但是不能依赖socket.io,因为站点中页面的更改会导致断开连接。

我查看了disconnectwindow.onbeforeunload,但它们也不起作用,因为当我在网站中更改页面时会被调用。

感谢所有帮助:)

1 个答案:

答案 0 :(得分:0)

我不熟悉React / Redux,但是我怀疑是因为您的客户端的套接字连接是在正在创建和销毁的视图中创建的。那将意味着您存在持久性问题。

由于Redux用于状态管理,因此您应该在其中存储套接字实例。如果您的用户退出,则可以手动断开连接并丢弃该实例,或者如果用户离开您的页面,则它自然会断开连接。