Tonic 's lesson learned


리듀서(Reducer)가 뭔가요?

리액트(React)와 리덕스(Redux)를 보다 보면 반드시 만나는 단어가 리듀서(Reducer)다. 근데 이게 정말 뭐랄까 머리에 개념이 명확하게 들어오지 않고 이름도 잘 안 외워진다. 리듀서라… 리듀스(Reduce)가 줄인다는 뜻이니까 뭔가를 줄이는 역할을 한다고 보면.. 이상한데..

이렇게 리듀서가 잘 안 외워지고 안 와닿는 분들 아래 문장을 한번 보시면 머리에 뙇! 개념이 이해되실거고 다신 안 잊어버리실거다.
그냥 보다가 생각한거고, 원래 리듀서란 용어를 라이브러리 제작자가 이런 뜻으로 만들었는지 모르겠지만 암튼 -

Re(act State Pro)ducer => Reducer

그러니까 ‘리액트(React) 상태(State) 생성자(Producer)’라는 뜻으로 해석해서 보면 쉽게 이해되고 외워진다. 실제로 리덕스(Redux)는 액션(Action)이 날라오면 리듀서(Reducer)가 스토어(Store)의 상태(State)르 변경시키는 방식으로 동작하므로 얼추 의미가 통한다고 생각한다.

또 reduce라는 단어 뜻 자체가 “줄이다. 축소하다” 이런 뜻을 가지고 있으므로 여러 액션(Action)과 상태값 사이에서 리듀서(Reducer)는 switch~case 문으로 액션에 대한 선택지를 줄여 상태(State)를 변화시킨다고도 생각할 수 있겠다. 리듀서라는 이름이 조금 덜 생소하게 느껴지기를 바란다. 그것만으로도 리덕스가 훨씬 친근하게 느껴질테니까.

오해하지 마세요
위에 쓴 리듀서 용어 관련 내용은 공식적인게 아니고 공부하다가 개인적으로 생각한 내용을 정리한 것입니다.