reduce() 함수는 배열의 모든 요소를 하나의 값으로 축소하는데 사용된다.
reduce(콜백함수, 초기값)
reduce 메서드는 자신을 호출한 배열을 모든 요소를 순회하며 인수로 전달받은 콜백 함수를 반복 호출한다. 그리고 콜백 함수의 반환값을 다음 순회 시에 콜백함수의 첫번째 인수로 전달하면서 콜백함수를 호출하여 하나의 결과값을 만들어 반환한다. 이때 원본 배열은 변경되지 않는다.
const num = [1, 2, 3, 4];
const sum = num.reduce((accumulator, currentValue) => acc + cur, 0);
console.log(sum);// 10
accumulator = 현재까지 누적된 값(let total=0 의 역할을 해주는 것과 유사 → 초기값은 reduce의 두번째 인자로 넣어준다.)
currentValue = 현재 처리 중인 요소(첫번째 요소가 실행중이면 currentValue는 1이 되고, 두번째 요소가 실행중이면 2가 된다.
Reducer
Dispatch
Action
const reducer = (state, action) => {
console.log("reducer가 동작합니다.");
};
function App() {
const [money, dispatch] = useReducer(reducer, 0);
...//
<button
onClick={() => {
dispatch({ type: "deposit" });
}}
>
useCallback (0) | 2024.03.12 |
---|---|
useMemo() (0) | 2024.03.12 |
useEffect() (0) | 2024.03.08 |
Vite (0) | 2024.03.05 |
React (0) | 2024.03.04 |