redux - 如何检测用户离开网站?
问题描述
我正在使用react-router
'sBrowserRouter
和Route
and Redux
。我想在用户离开网站或注销时调度一个动作。我也在使用socket.io
,但不能依赖 ,disconnect
因为站点内页面的更改会导致断开连接。
我查看了window.onbeforeunload
and window.onunload
,但它们也不起作用,因为当我更改站点中的页面时它们会被调用。
感谢所有帮助:)
解决方案
我不熟悉 React/Redux,但我怀疑这是因为您的客户端的套接字连接是在正在创建和销毁的视图中创建的。这意味着你有一个持久性问题。
由于 Redux 用于状态管理,因此您应该将您的套接字实例存储在那里。如果您的用户退出,那么您可以手动断开连接并丢弃该实例,或者如果您的用户离开您的页面,那么它自然会断开连接。
推荐阅读
- powershell - PowerShell 以 CSV 格式获取输出
- angular - ag-grid:使用服务器端行模型的行分组问题(ag-grid 版本 22.1.0)
- python - Why python if command doesnt work correctly?
- reactjs - Refresh part of page in a service worker push event in React
- windows - 尽管指定了另一个驱动器进行安装,为什么 Visual Studio 仍坚持在系统驱动器上安装部分组件?
- asp.net - 如何在站点 web.config 级别禁用 IIS 10 中的 brotli httpCompression?
- javascript - D3js图例颜色与地图颜色javascript不匹配
- powerbi - 创建一个过滤器,显示过去 12 小时的数据功率 bi
- katalon-studio - Katalon 测试集合构建在 Jenkins 上失败
- vitess - 启动 vreplication 引擎时出错:通过 connection 连接到 mysql db 时出错
Kubernetes 上的 Vitess