reactjs - 带有 React 和 WebSockets 的仪表板 - 如何构建应用程序
问题描述
我正在使用 React.js 构建仪表板。仪表板将每隔大约 1 秒通过 WebSocket 接收包含某些实时数据的消息。在仪表板上将有不同类型的小部件来显示该数据。某些小部件将仅显示某种类型的数据,例如小部件 A 将仅显示数据 (A),而小部件 B 将仅显示数据(B)。消息中包含哪种类型的数据可以由消息类型来确定。
我目前的想法是将 WebSocket 以组件方式放在组件树的上方。该组件将在其状态对象的各个字段中保存不同的消息类型,并将该字段作为道具传递给需要它的小部件。
我对这种方法的问题是,将所有数据都放在树中似乎不是一个好主意,尽管对某种类型感兴趣的唯一组件可能会向下。
我的实际想法是,小部件可以注册到某个事件,只要通过 WebSocket 接收到消息,就会触发该事件,并且他们可以自己决定是否对该消息感兴趣。但是 React 似乎没有提供这样的机制。
那么,您会建议如何构建该应用程序,尤其是如何将数据获取到小部件?
解决方案
推荐阅读
- exception - 如何在用例图中显示异常?
- c# - 我是否需要使用实体框架将属性 int 显式添加到组合对象的外键中?
- python - PYTHON:在 tkinter 错误中绘制图像:“类型对象 'Image' 没有属性 'open'”
- iframe - 我可以通过代理服务器上的 iframe 来完全控制跨域 iframe 吗?
- java - 如何将对象传递给android studio中的新活动?
- python - 在 for 循环中使用正则表达式抓取天气数据
- javascript - 在其他元素出现和消失时平滑更改 HTML 元素位置的通用方法
- javascript - 使用reduce从数组中取平均值。将您自己的方法添加到 Array 对象,以便下面的代码可以工作。3 种方法
- git - Git 拒绝将我的提交视为我的 - 我必须/我可以使用 git 命令行进行更改吗?
- php - 在mysql数据库中插入表单时如何解决“注意:未定义的索引:/var/www/html/Mini_Project/php/feedback_script.php中的名称”?