
100
자바스크립트 + 리액트 디자인 패턴
싱글톤임을 파악하는 것이 힘들다
큰 모듈을 가져오는 경우, 어떤 클래스가 싱글톤 클래스인지 알아내기 어렵습니다. 그러
므로 싱글톤 클래스를 일반 클래스로 착각하여 여러 객체를 인스턴스화하거나 부적절한
방법으로 수정할 수도 있습니다.
테스트하기 힘들다
싱글톤은 숨겨진 의존성, 여러 인스턴스 생성의 어려움, 의존성 대체의 어려움 등 다양
한 문제로 테스트하기에 생각보다 더 어려울 수 있습니다.
신중한 조정이 필요하다
싱글톤의 일상적인 사용 사례로는 전역 범위에 걸쳐 필요한 데이터를 저장하는 것이 있
습니다. 예를 들어 한 번 설정되고 난 후에 여러 컴포넌트에서 사용할 수 있는 사용자 인
증 정보나 쿠키 등이 있습니다. 따라서 데이터가 유효하게 된 뒤에 사용할 수 있도록 올
바른 실행 순서를 구현하는 일은 필수적입니다. 하지만 애플리케이션의 크기와 복잡성
이 커짐에 따라 어려워질 수 있습니다.
7.5.1
리액트의 상태 관리
리액트를 통해 웹 개발을 한다면 싱글톤 대신
Context
API
나 리덕스
Redux
같은 전역 상태 관
리 도구를 이용하여 개발할 수도 있습니다. 싱글톤과는 달리, 이러한 전역 상태 관리 도구는
변경 불가능한 읽기 전용 상태를 제공합니다.
이러한 도구를 사용한다고 해서 전역 상태가 가지는 여러 단점을 손쉽게 처리할 ...