처음 만난 리덕스 (Redux) 문서


10.2 Side Effects

그렇다면 비동기 로직과 함께 등장한 Side Effects는 정확히 뭘까요?
앞에서도 여러번 등장하긴 했는데, side effects의 개념이 처음에 잘 와닿지 않을 수 있기 때문에 한 번 더 자세히 설명하고 넘어가도록 하겠습니다.

side effects라는 것은 Reducer 외부에서 보여질 수 있는 상태의 변경 또는 동작을 의미합니다.
이름 그대로 Reducer의 side에서 일어나는 일들을 의미하는 것이죠.
예를 들면, 콘솔에 로그를 출력하거나 파일을 저장하는 등의 동작입니다.
결국, Pure function에서 리턴 값과 직접적으로 관련이 없는 모든 동작은 side effect라고 생각하면 됩니다.

Redux의 Reducer에서 이러한 side effects를 허용하지 않는 이유를 다시 말씀드리면, Reducer 외부와 내부를 철저하게 분리하고 리턴 값과 관련이 없는 동작들을 막음으로써 Reducer가 완벽한 pure function이 되게 하기 위함입니다.
비동기 로직과 동일한 이유로 Side Effects 또한 허용되지 않는 것이죠.

굉장히 중요한 부분이기 때문에 다시 한 번 강조해서 말씀드렸고, 이 점을 잘 기억하면서 다음으로 넘어가도록 하겠습니다.


마지막 업데이트: 2023년 07월 14일 00시 00분

이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.