Я работаю над React.js и socket.io. Мое приложение состоит из нескольких контейнеров. Каждый контейнер имеет компоненты.Где инициализировать объект Socket в контейнерах для реактивов?
Мой контейнер и компонент иерархии
- Dashboard
- Чат
- ChatListItem
- CustomerChatView
Так вот Dashboard и поболтать два отдельных контейнера, определенные в отдельных файлах js. Я хочу обмениваться объектами websocket между сообщением Dashboard и Chat, так что панель мониторинга сможет отображать предупреждающее сообщение пользователю, когда в чат-контейнере появляется новое сообщение чата.
Мой вопрос - это самое подходящее место для инициализации websocket, чтобы один и тот же объект сокета можно было использовать в обоих контейнерах?
Я использую Socket.io библиотеку JavaScript
С другой стороны, я бы, вероятно, все еще инициализировал сокет в компоненте componentWillMount, но я бы сохранил ссылку в отдельном выделенном модуле, который, возможно, только показывал API для работы с ним. Предполагается, что состояние вашего хранилища будет сериализовано и сохранение сокета в нем, скорее всего, сделает его не так. – John