我正在开发一个使用 ReactJS、Redux 和 Websockets 的应用程序。在这个应用程序中,我正在实现实时渲染功能。(用户将在屏幕上收到通知而无需刷新页面)。
假设我有 2 个组件需要渲染。
- 通知
- 聊天
我正在考虑打开 2 个单独的套接字并访问 2 个单独的端点来获取这 2 个组件的数据。
通知组件
componentDidMount() {
io("sample.data/endpoint/notification").on("data", data => this.setState({notificationData: data}));
}
聊天组件
componentDidMount() {
io("sample.data/endpoint/chat").on("data", data => this.setState({chatData: data}));
}
有没有一种方法可以使用 1 个套接字来完成这两个功能,而不是使用 2 个单独的套接字?换句话说,有一个端点可以同时检索通知和聊天数据,并且在获取该数据后,我有没有办法过滤并将这些单独的数据输入到 2 个组件中?
换句话说,有没有办法保持一个集中的类来处理所有 Websocket 请求并将响应提供给不同的组件?
让我知道您对此的评论并建议我解决此问题的方法。