Noté algo interesante después de actualizar mi proyecto de reacción de la versión 17.0.2 a la versión 18.0.0.
En la página de inicio de mi aplicación, estoy abriendo una conexión para un WebSocket usando SignalR. Todo funciona bien con React 17.0.2, pero después de la actualización a React 18.0.0, por alguna razón, el WebSocket se sigue desconectando. Después de eso, volví a React 17.0.2 y se solucionaron los problemas.
No estoy muy seguro de por qué y no pude encontrar ninguna pregunta relacionada con este tema.
Lo único que hice fue actualizar mi package.json para usar la versión 18 de react y react-dom y luego en index.js hice los cambios necesarios.
Si alguien tiene problemas similares después de actualizar a React 18, algunas informaciones serían útiles.
Gracias y mientras tanto investigaré un poco más, tal vez pueda averiguar cuál es el problema.
ACTUALIZAR El problema parece estar relacionado con <React.StrictMode> que envuelve todo el código de mi aplicación.
Por alguna razón, al usar el modo estricto, reaccionar activa la función de limpieza useEffect que desconecta el WebSocket de la página de inicio una vez que abandona esa página. Eliminé el modo estricto y ahora funciona bien (esto solo está disponible para reaccionar 18, si sigo usando reaccionar 17 con modo estricto, no tengo este "problema")
Más información aquí sobre cómo funciona React.StrictMode: https://github.com/reactwg/react-18/discussions/19