728x90
아직 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()함수에서 사용하는 콜백함수이기때문에 리듀서라고 불립니다.
'Reference > 용어 사이트' 카테고리의 다른 글
컴파일(Compile) 언어, 인터프리터(interpreter) 언어, 트랜스파일러(Transpiler) (0) | 2020.06.02 |
---|---|
이벤트 버블링, 이벤트 캡쳐링 그리고 이벤트 위임에 대해 잘 설명된 글 (0) | 2020.04.08 |
[자료구조] Hash table과 관련된 사이트 모음 (0) | 2020.04.07 |
[JS] 유사 배열, 연관 배열에 관해서 (0) | 2020.04.07 |
[JS] 모듈 패턴 (0) | 2020.04.07 |