[Redux] Reducer란? 간단하게 나타낸 글

[Redux] Reducer란? 간단하게 나타낸 글

아직 redux를 공부하진 않았지만..;; 일단 도전!

댓글 中..

영단어 Reduce 본래 의미를 보자면,

단순하게 줄이다라는 의미보다 변경이라는 의미에 가깝습니다.

"to change something into a simpler or more general form"

그 예시로 어떤 복잡한 수학문제를 다른 비슷한 문제로 변경해서 (더 간단하게만드려고) 푸는방법을 수학에서는 reduction이라고도 합니다.

"In mathematics, reduction refers to the rewriting of an expression into a simpler form."

그런의미에서 완벽히 번역은 힘들지만 reduce는 "고쳐나간다" (간단하게만들기위해서, 혹은 특정규칙을 적용하기위해서) 라고 생각해보면 좋을것같습니다. 따라서, 주어진 상태를 고쳐나가는게 함수형 프로그래밍에서 자주보이는 reduce()함수입니다. [주어진상태].reduce([특정규칙]) => 변경된상태.

즉, 리덕스에서의 reduce()는 현재상태(previousState)를 새로운상태(newState)로 변경할때 쓰는 함수가됩니다.

리듀서에 대해서는:

리덕스 공식홈페이지에서의 설명은

"여러분이 이 형태의 함수를 Array.prototype.reduce(reducer, ?initialValue)로 넘길 것이기 때문에 리듀서라고 부릅니다"

다시말해, 리듀서라고 불리는 이유는 리듀서가 reduce()함수에서 사용하는 콜백함수이기때문에 리듀서라고 불립니다.

from http://so-tired.tistory.com/90 by ccl(A) rewrite - 2020-05-12 10:02:26