У меня есть сокет с промежуточным программным обеспечением и некоторыми событиями
В файле конфигурации магазина я установил и подключил свой сокет к URL-адресу по умолчанию
import createSocketIoMiddleware from 'redux-socket.io';
import io from 'socket.io-client';
...
let socket = io('http://127.0.0.1:4000');
let socketIoMiddleware = createSocketIoMiddleware(socket, "server/");
И создайте магазин с помощью промежуточное ПО для сокетов
let store = createStore(
persistedReducer,
applyMiddleware(
thunk,
socketIoMiddleware,
...
)
)
И я экспортирую хранилище с сокетом
export {
store,
persistor,
socket,
}
Я пытаюсь определить на своей странице параметров приложения настройку URL сокета
Внутри компонента в моем приложении я создал текстовое поле с URL-адресом сервера
Я получаю значение по умолчанию из магазина с mapstatetoprops
<TextField ... value={this.props.serverUrl} onChange={(e) => this.onServerUrlChange(e.target.value)}/>
Внутри функции, вызываемой при изменении текста, я хотел бы для повторного подключения сокета с заданным URL-адресом, указанным в текстовом поле
Я импортирую магазин из файла конфигурации магазина
Я также обновляю магазин
onServerUrlChange = (serverUrl) => {
this.props.setServerUrl(serverUrl)
socket.disconnect()
socket.connect(serverUrl)
}
Но сокет не воссоединяется с правильным URL-адресом
Есть ли способ сделать это? Большое спасибо