Home > Net >  Why am i getting " Expected an assignment or function call and instead saw an expression"
Why am i getting " Expected an assignment or function call and instead saw an expression"

Time:05-08

Im getting " Expected an assignment or function call and instead saw an expression" error at the seconduse effect, it finds the socket port correctly, am i performing the socket.on wrong? the socket server starts correctly, and i even get my console log in index.js to output "a user is connected"

  const [socket, setSocket] = useState(null)

  useEffect(() => {
    setSocket(io("ws://localhost:8900"))
  }, [])

  useEffect(() => {
    socket?.on("welcome", (message) => {
     
      console.log(message)
    })
  }, [socket])

index.js for socket

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")
})

edit: whats even weirder, is the "hello this is a socket server" actually console logs, then this error still happens... not sure why...

CodePudding user response:

Figured out my issue, set the socket with socket.current if your using a useEffect in react, if your just doing a const socket , then thats fine. Their will be socket Issues on any refresh or update, causing errors for something trying to call an old socket, using a different socketId.

  • Related