Tengo un componente React que establece una conexión con un servidor socket io. Cuando el componente se desmonta, ¿debería desconectarse automáticamente a través de un useEffect ?
En caso afirmativo, ¿cuál es la sintaxis para desconectarse de un componente React al servidor Socket io?
No, no necesita hacerlo cuando necesita Socket en otros componentes. Pero creo que te refieres a desvincular eventos, entonces sí, por supuesto, necesitas desvincularlo. Por cierto, si desea desconectarse, reemplace socket.off con socket.disconnect en el código a continuación.
Yo uso esta sintaxis:
function Helper() { const socket = useSocket; // my custom hook that returns a socket instance. useEffect(()=> { socket.emit("FOO_BAR", "BLA_BLA"); socket.on("CALL_ME", handleCall); // handleCall is a cb somewhere in my code return () => { socket.off("CALL_ME", handleCall); } }, [socket]); }