Пробовал двумя способами:Где хранить разъем в read-redux?
вызов
connectToServer()
от действий создателя вStarter
компонента вcomponentDidMount();
и отправки, как это:let socket = new Socket('ws://address/socket'); socket.connect(); dispatch({ type: Constants.SESSION_SAVE_SOCKET, socket: socket, }); const lobbyChannel = socket.channel('lobby'); lobbyChannel.join() .receive('ok',() => { dispatch({ type: Constants.SESSION_LOBBYCHANNEL_RECEIVE_OK, }); dispatch({ type: Constants.SESSION_SAVE_LOBBYCHANNEL, lobbyChannel: lobbyChannel, }); }).receive('error', (payload) => { dispatch({ type: Constants.SESSION_LOBBYCHANNEL_RECEIVE_ERROR, }); });
Следующая я получаю состояние, Redux в mapStateToProps connect
. В результате компонент называется четыре раза, а реквизит пуст в результате.
- положить всю логику в редуктор, но результат: компонент визуализируется с пустым реквизитом (неопределенные свойства) и моментом после того, как я вижу в консольных журналах, что соединение установлено, но компонент уже отображается.
Как бороться с такой проблемой? Спасибо за любые предложения.
Спасибо, Марк, на самом деле я использовал свой первый подход, но вместо того, чтобы ждать реквизита в одном компоненте, я скорее отделяю это, и теперь он выглядит так: первый компонент отвечает за соединение, а результат показан в следующем. – mike00
Спасибо, ты действительно поможешь! –