Written on
·
247
1
강사님 안녕하세요.
공부하다가 문의드릴 내용이 생각나서 글 남기고 갑니다.
rootSaga 에 'all' effects 를 이용해서 saga 함수들을 모두 등록을 해주고 있는데요.
예를 들어 화면이 1000개인 시스템이 있고, 각 화면마다 Saga 함수가 하나씩 있다고 가정하면
'all' 안에 1000개의 saga 함수가 등록되게 될텐데요..
이렇게 많은 saga 함수들이 action 을 대기하고 있어도 브라우저에 별 영향이 없는지 궁금합니다.
그리고 rootSaga 에서 1000개의 saga 함수를 등록하려면 라인이 너무 많아질텐데
이렇게 많아지면 단위를 쪼개서 다시 한번 묶어주는 식으로 관리하면 되는 것일까요?
Answer 1
0
안녕하세요
꼭 페이지별로 사가 함수를 만들 필요는 없어서요
페이지가 너무 많다면 여러 페이지를 grouping 하거나 데이터 종류별로 모아서 간소화할 수 있을 것 같습니다
그렇다고 하더라도 사가 함수가 너무 많은 경우에는 점진적으로 사가 함수를 추가할 수 있는 방법이 있을 것 같은데요
제가 현업에서 그런 니즈가 없어서 아직 찾아보진 않았습니다 (아마 방법이 있을 것 같아요)
사가 함수는 보통 특정 (리덕스)액션을 기다리는데요
각 사가 함수가 액션을 주기적으로 모니터링하는 polling 방식이 아니라, 액션이 발생했을 때만 필요한 사가 함수를 찾아서 실행하는 방식일거에요
따라서 1000개라고 하더라도 부담은 별로 없을 것 같습니다
액션을 기다리는 게 아니라 1000개가 계속해서 연산을 수행하는 상황은 당연히 부담이 되겠구요 (일반적인 상황은 아닌 것 같네요)