после unmount компонент не пытался делать reconnect
В примере показана следующая конструкция:
const didUnmount = useRef(false);
const [sendMessage, lastMessage, readyState] = useWebSocket(
'wss://echo.websocket.org',
{
shouldReconnect: (closeEvent) => {
return didUnmount.current === false;
},
reconnectAttempts: 10,
reconnectInterval: 3000,
}
);
useEffect(() => {
return () => {
didUnmount.current = true;
};
}, []);
Эта конструкция будет работать? Ведь return в useEffect будет срабатывать перед рендером компонента
Выглядит как дичь, как и работа с сокетами из реакта в целом
а какие-то есть альтернативы для вариаций, когда нужно при изменении бека сразу же поменять состояние на фронте?
Работать с сокетами из стейт-менеджера, а в реакте просто рисовать то, что нужно рисовать и всё
при загрузке стр можно из редакса например делать подключение по вебсокету и пушить в стейт а в реакте уже выводишь данные из стейта
Обсуждают сегодня