개요

싱글톤 패턴을 이용한 웹 소켓 다중 연결 해결

위 과정을 통해서 웹소켓이 다중 연결되는 상황을 해결했다. 하지만 로컬 환경에서는 다음과 같은 에러가 추가적으로 발생했다.

스크린샷 2023-12-11 오후 8.20.26.png

build 상태에서는 정상작동 했기 때문에 React.StrictMode 컴포넌트 때문에 발생한 에러라고 추측할 수 있었고, WebSocket is closed before the connection is established 에러를 구글에 검색했다.

스택 오버 플로우에서 나와 같은 에러를 발생한 사람의 글을 찾을 수 있었고, 해당 글의 답변에서 웹소켓 에러의 원인을 찾을 수 있었다.

<aside> 💡 React.StrictMode는 왜 웹소켓이 제대로 연결될 기회를 갖기 전에 웹소켓을 close하려고 했을까?

</aside>

위 질문을 답변하기 전에 고려할 사항들.

  1. StrictMode가 꼭 필요한가?

  2. StrictMode가 꼭 필요하다면

StrictMode의 효용을 먼저 확인하자.

React.StrictMode가 꼭 필요한가?

StrictMode 컴포넌트를 사용했을 때 얻을 수 있는 장점은 다음과 같다. (공식문서 참고)