작성
·
216
0
안녕하세요! 강의 잘 보고 있습니다.
다름이 아니라 이 강의에서 Socket.io를 통해 현재 나의 워크스페이스에 참여한 사용자 중 로그인 된 사용자를 받아오는 것을 보여주시고 계신데 제가 아래코드를 통해 똑같이 데이터를 받아 왔습니다. 하지만 초록불이 안켜지길래 Data를 찍어봤더니 배열안에 그 사람의 정보가 객체 형태로 넘어오더라구요. DMList에 초록불 켜지는 로직은 배열안에 id값만 들어있어서 그 id값만 비교해서 켜지게 해놓으신 것 같은데 socket.io를 통해 받아온 데이터를 찍어보니 배열안에 로그인한 사용자의 정보를 객체형태로 들어가 있었습니다. 혹시 제가 잘못된 부분이 있어서 그런건지 궁금합니다!
useEffect(() => {
socket?.on('onlineList', (data: number[]) => {
console.log(data);
setOnlineList(data);
});
return () => {.
socket?.off('onlineList');
};
}, [socket]);
자문자답 ( 해결했습니다. )
죄송합니다! 스스로 해결한 것 같습니다ㅎㅎ
workspace.tsx에서 처음에 서버에게 로그인했다는 것을 socket.io로 전송할 때 userData.id를 보내지 않고 userData를 보낸 것 같습니다. 그래서 아마도 서버쪽에서 응답을 해줄 때에 로직상에서 꼬여서 잘못된 데이터를 응답해주는 것 같습니다. 죄송합니다!