redux-saga와 헤어질 결심
redux-saga는 redux 미들웨어로, 매우 강력한 사이드 이펙트 처리를 가능하게 만드는 라이브러리다.
최근 회사 코드베이스에서 이 의존성을 제거하고자 하여 그 의사결정의 근거들을 남긴다.
이 글은 읽는 사람이
redux-saga와redux-toolkit을 이용한 프론트엔드 개발 경험이 있다고 가정한다.
1. 러닝커브의 관점
Generator는 saga 이외의 사용처를 찾아보기 힘들다. 대부분의 입문자는 saga를 배우려면 먼저 generator부터 공부해야 한다.
또한 saga가 제시하는 멘탈 모델에 익숙해져야 한다. 공식 문서에 따르면,
The mental model is that a saga is like a separate thread in your application that's solely responsible for side effects.
사가의 멘탈 모델은 어플리케이션에서 사이드 이펙트를 책임지는 별도의 스레드와 같다. 일반적인 React 개발 경험과는 상당히 이질적이어서 익숙해지는데 시간이 필요하다.