Reducer

Reducer

1. Reducer

 - 상태 관리를 위해 사용

 - 복잡한 상태를 가진 컴포넌트에서 상태 업데이트 로직을 분리하여 관리할 수 있음

 - 즉, 현재 상태액션 객체파라미터로 받아와서 새로운 상태를 반환해주는 함수

 

2. 사용방법

 - ReducerEx.js

import React, { useReducer } from "react";

function reducer(state, action) {
  switch (action.type) {
    case "INCREMENT":
      return { value: state.value + 1 };
    case "DECREMENT":
      return { value: state.value - 1 };
    default:
      return state;
  }
}

const ReducerEx = () => {
  // 첫 번째 파라미터 (reducer): 위의 reducer 함수를 의미
  // 두 번째 파라미터 ({value : 0}) : 위 함수의 상태 값을 의미
  const [state, dispatch] = useReducer(reducer, { value: 0 });

  return (
    <>
      <h1>현재 값은 {state.value} 입니다.</h1>
      <button onClick={() => dispatch({ type: "INCREMENT" })}>+1</button>
      <button onClick={() => dispatch({ type: "DECREMENT" })}>-1</button>
    </>
  );
};

export default ReducerEx;

 

 - App.js

import React from "react";
import ReducerEx from "./ReducerEx";

const App = () => {
  return (
    <>
      <ReducerEx />
    </>
  );
};

export default App;

 

 - 결과

'Front-End Study > React' 카테고리의 다른 글

JSX  (0) 2023.07.28
useMemo  (0) 2023.07.10
Context  (0) 2023.07.07
useEffect  (0) 2023.07.05
useState  (0) 2023.07.05