인프런 커뮤니티 질문&답변

아리마님의 프로필 이미지
아리마

작성한 질문수

실전 리액트 프로그래밍

Redux saga 문의

작성

·

140

0

강사님 안녕하세요.

특정 액션이 디스패치되면 이를 기다리고 있는 사가함수가 호출되는 것은 잘 이해했는데요.

만약 디스패치되는 액션의 타입으로 리듀서까지 설정해두었다면 리듀서를 통해 상태가 변경된 이후 사가함수가 시작될까요?

아니면 리듀서의 실행과 사가함수가 병렬로 실행될까요?

답변 3

1

아리마님의 프로필 이미지
아리마
질문자

저도 강사님 강의를 보면서 그렇게 이해를 했는데 테스트를 해보니

Reducer 가 먼저 수행되고 Saga 함수가 진행되는 듯한 결과를 얻어서요..

아래 글도 약간 그런 내용 같고요..

https://github.com/redux-saga/redux-saga/issues/148

0

이재승님의 프로필 이미지
이재승
지식공유자

제가 잘못된 답변을 했네요
말씀하신대로 리듀서가 실행된 후에 사가 함수가 실행됩니다
(테스트를 해보고 답을 드렸는데, 테스트가 잘못됐네요ㅜㅜ)

사가 미들웨어가 리듀서보다 먼저 실행되는건 맞습니다
다만 사가 함수는 미들웨어가 아니고, 사가 미들웨어가 사가 함수를 실행시켜주는 구조입니다
`액션, 미들웨어` 영상 5:35 부분에 나온대로 미들웨어는 next 함수의 호출 시점을 조절할 수 있습니다
next 함수의 실행은 리듀서의 실행을 의미하구요
사가 미들웨어는 next 함수를 호출한 후에 사가 함수를 호출하는 것으로 보입니다

0

이재승님의 프로필 이미지
이재승
지식공유자

안녕하세요
항상 리듀서보다 미들웨어가 먼저 실행되므로 `사가 함수 실행 => 리듀서 실행` 순서로 진행됩니다

아리마님의 프로필 이미지
아리마

작성한 질문수

질문하기