首页 > 解决方案 > 带有 React 和 WebSockets 的仪表板 - 如何构建应用程序

问题描述

我正在使用 React.js 构建仪表板。仪表板将每隔大约 1 秒通过 WebSocket 接收包含某些实时数据的消息。在仪表板上将有不同类型的小部件来显示该数据。某些小部件将仅显示某种类型的数据,例如小部件 A 将仅显示数据 (A),而小部件 B 将仅显示数据(B)。消息中包含哪种类型的数据可以由消息类型来确定。

我目前的想法是将 WebSocket 以组件方式放在组件树的上方。该组件将在其状态对象的各个字段中保存不同的消息类型,并将该字段作为道具传递给需要它的小部件。

我对这种方法的问题是,将所有数据都放在树中似乎不是一个好主意,尽管对某种类型感兴趣的唯一组件可能会向下。

我的实际想法是,小部件可以注册到某个事件,只要通过 WebSocket 接收到消息,就会触发该事件,并且他们可以自己决定是否对该消息感兴趣。但是 React 似乎没有提供这样的机制。

那么,您会建议如何构建该应用程序,尤其是如何将数据获取到小部件?

标签: reactjswebsocket

解决方案


推荐阅读