본문 바로가기

Service2

Angular (Service & RxJS) vs NgRx / Redux 차이점 서비스와 NgRx의 비교. 개인적으로는 전역 상태관리 라이브러리인 Redux/NgRx가 Angular에서는 필요하지 않다고 생각한다. Angular의 서비스는 싱글톤이고, 컴포넌트간 데이터를 공유할 수 있도록 하기 때문이다. chatgpt에게 "what is the difference between Service from Angular and Redux"라고 질문했을때 4가지 항목으로 분류해 그 차이점을 설명한다. 1) 상태 업데이트의 추적성: Redux에서는 상태 업데이트가 엄격하게 추적되고 기록됩니다. 이는 디버깅을 용이하게 만들어줍니다. 반면에 Angular 서비스에서는 상태 변경이 어떻게 발생했는지 추적하기가 훨씬 어렵습니다. 각 컴포넌트가 서비스의 상태를 직접 변경할 수 있으며, 이는 예상치 못.. 2024. 5. 9.
servie.ts 에서 모든 구독자에게 동일한 값을 발행할때 상황: API로 받아온 데이터를 모든 컴포넌트에서 접근할 수 있도록 하는 구조에서router에 의한 페이지 이동 시 router에 의해 렌더링된 컴포넌트 클래스에서 service에서 받아온 데이터를 구독 시 의도하지 않은 다수의 stream 발생. 원인: 컴포넌트가 init 되는 시점에 구독을 한다. A컴포넌트에서 B컴포넌트로, B컴포넌트에서 다시 A컴포넌트로 이동할때 각 컴포넌트는 구독을 n번 하게 되었고 그로 인해 꼭 다수의 stream이 n번 만큼 발생한 것 처럼 보였던 것이었다.이는 구독 후 실행될 로직들이 n번 실행되어 큰 영향을 줄 수 있다. 해결: 컴포넌트가 destroy 될 때 구독을 취소하면 된다. 방법: 크게 두 가지가 있다. stackoverflow에서 퍼옴. #1: 컴포넌트에 Sub.. 2023. 7. 27.