私はReact.jsとsocket.ioに取り組んでいます。 私のアプリケーションは複数のコンテナで構成されています。各コンテナにはコンポーネントがあります。React ContainersでSocketオブジェクトを初期化する場所は?
マイコンテナとコンポーネント階層
- ダッシュボード
- チャット
- ChatListItem
- だからここCustomerChatView
ダッシュボードとチャット別々のjsファイルで定義された2つの別々のコンテナ。 ダッシュボードとチャットメッセージの間でwebsocketオブジェクトを共有したいので、ダッシュボードはチャットコンテナに新しいチャットメッセージがあるときにユーザーに警告メッセージを表示できます。
私の質問は、両方のコンテナで同じソケットオブジェクトを使用できるようにwebsocketを初期化する最も適切な場所は何ですか?
は、私はおそらくソケットを初期化し、店舗での結果を格納するためにcomponentWillMount上でアクションをディスパッチすることができ、ルートアプリケーションのコンテナを作成したJavaScriptライブラリ
私はまだcomponentWillMountのソケットを初期化していると思いますが、別の専用モジュールに参照を保存していました。あなたの店舗の状態はシリアル化可能であると考えられ、そこにソケットを格納するとそうしない可能性があります。 – John