작성
·
364
0
위와 같은 코드가 실행되면 서버에서는 아래와 같은 코드가 실행됩니다.
chat변수에는 값이 들어있는것을 확인하였고, id에도 사용자 의 id가 잘 들어있는 것을 확인하였습니다.
TypeError: Cannot convert undefined or null to object
at Function.keys (<anonymous>)
at getKeyByValue (D:\devel\sleact_study\sleact\back\routes\api.js:461:17)
at D:\devel\sleact_study\sleact\back\routes\api.js:493:32
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
POST /api/workspaces/sleact/dms/6/chats 500 13.843 ms - 539
채팅 보내기 챕터 - 6:04 에서 보면 api호출할 때 500오류가 발생합니다.
채팅 보내기 챕터 - 6:36 정도의 내용을 보면 코드에 socket관련 코드가 추가가 되어 있는 것을 보면 무엇인가 꼬인 느낌입니다. 린트에 내용 추가하는 부분으로 갑자기 바뀌고 있어요.
그리고 그 다음 챕터에서는
socket.io 전용 훅스 만들기 강좌에서 . 백엔드 api가 문제가 있다면 백엔드 개발자에게 물어봐야 한다. 프론트 개발자가 어떤 처리를 하면 된다고 들었다. 먼저 그걸 하겠다. 그런데 백엔드 개발자도 본인이다 라고 말씀하시고 추가적인 내용을 설명을 안하시고 socket.io 강의로 넘어가네요?
무엇인가 생략된 느낌입니다.
확인 부탁드립니다.
이 부분이 백엔드 코드의 오류가 있는건지 그렇다면 어떤 부분을 수정해야하는지 알려주시면 감사하겠습니다.
답변 2
2
빠른 답변 감사합니다. 영상만 보면 이미 해결을 한것 같은 느낌이 들었어요.
아마 백엔드의 코드가 websocket이랑 연동되서 그런것 같은데요. api호출과는 상관없을 것 같은 websocket내용을 설명하여 그 상관 관계를 알수가 없었습니다.
내용 추가하니 잘되네요.
- 아직 백엔드 코드를 안봤지만, 웹소켓쪽에서도 인증이 들어가는지 궁금하네요. 웹 소켓에서 인증이 들어가지 않을 경우 해킹당할 수 있을 것 같아서요.
0
https://github.com/ZeroCho/sleact/blob/master/alecture/hooks/useSocket.ts
이 부분 작성하셨나요? 이 부분이 실행되어 백엔드와 소켓.io 연결이 맺어져야 채팅이 보내지는데 소켓.io 연결이 안 맺어진 상태로 보입니다. 제 영상에서도 이것 때문에 에러가 난 것이거든요. 다음 강좌 보면 해결되는 부분이 아닐까 싶습니다.