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}));
}
2 つの別々のソケットを使用する代わりに、1 つのソケットを使用してこれらの両方の機能を実行できる方法はありますか? つまり、通知データとチャット データの両方を取得するエンドポイントがあり、そのデータを取得した後、それらの個別のデータをフィルター処理して 2 つのコンポーネントにフィードする方法はありますか?
言い換えれば、すべての Websocket 要求を処理し、応答をさまざまなコンポーネントにフィードする集中クラスを維持する方法はありますか?
これに関するあなたのコメントを教えてください。これにアプローチする方法を提案してください。