Recibo el error "Se esperaba una asignación o llamada de función y, en cambio, vi una expresión" en el efecto de segundo uso, encuentra el puerto del socket correctamente, ¿estoy realizando el socket.on incorrectamente? el servidor de socket se inicia correctamente, e incluso hago que mi consola inicie sesión en index.js para mostrar "un usuario está conectado"
const [socket, setSocket] = useState(null) useEffect(() => { setSocket(io("ws://localhost:8900")) }, []) useEffect(() => { socket?.on("welcome", (message) => { console.log(message) }) }, [socket])index.js para el zócalo
const io = require("socket.io") (8900, { cors: { origin: "http://localhost:3000", } }) io.on("connection", (socket) =>{ console.log("a user is connected") io.emit("welcome","hello this is socket server") })editar: lo que es aún más extraño, es que "hola, este es un servidor de socket" en realidad registra los registros de la consola, luego este error todavía ocurre ... no estoy seguro de por qué ...
Resolví mi problema, configure el socket con socket.current si está usando un useEffect en reaccionar, si solo está haciendo un socket const, entonces está bien. Habrá problemas de socket en cualquier actualización o actualización, lo que provocará errores para algo que intente llamar a un socket antiguo, utilizando un socketId diferente.