reactjs - WebSocket 服务器中的 Redux
问题描述
我正在使用 React、Redux 和 WebSockets 构建多人游戏。我想知道的是是否“允许”在服务器端使用 Redux。我想按如下方式使用它:
- 在客户端调度一个动作。
- 使用中间件拦截动作。
- 通过 WebSocket 将操作发送到服务器。
- 在服务器端调度接收到的操作。
- 使用减速器处理动作。
可以使用相同的原理将操作从服务器发送到客户端。(正好相反)
我觉得这应该可以工作并且不会引起任何问题,但是我找不到任何关于 Redux 是否可以在服务器端使用或者这样做是否是个好主意的信息。有人可以告诉我更多有关此的信息吗?
解决方案
一个快速的谷歌搜索会带你到一篇关于为什么这是一个坏主意的深入文章。https://blog.bitsrc.io/can-redux-be-used-on-the-server-e2d3ecbf7ee4
这给我们带来了您不会在服务器上按原样使用 Redux 的主要原因:它被设计为保持瞬态。但是存储在后端的应用程序状态通常意味着长期存在。如果您在 Node.js 服务器上使用 Redux 存储,则每次节点进程停止时都会清除状态。在 PHP 服务器上,每次请求都会清除状态。
Redux 是为前端状态管理而设计的,人们通常将持久性数据库用于后端应用程序。
推荐阅读
- typescript - 对象可能为空 - 即使在空检查之后
- python - 德拜理论的 Python 代码给出了语法错误
- c - 泛型变量树错误无限循环
- haskell - Haskell - 使用数据类型的函数中的非详尽模式
- python - 正则表达式和熊猫:在名称匹配时提取部分字符串
- c++ - 没有“glu.h”和“windows.h”,GLFW 无法编译
- reactjs - 无法仅通过 Formik 触发 Antd 表单的验证 - 错误字段仅在实际尝试提交时显示
- javascript - 使用 javascript 获取 asp:label 的值
- angular - “void”类型不存在属性“snapshotChanges”。离子3
- python - 如何使用python和html标签值下的html标签中的美丽汤来解析html文件?