useState와 비슷한 기능이지만, 컴포넌트 내에서만 구현해야되는 useState의 한계점을 보완하여, useReducer를 컴포넌트에서 dispatch로 알린뒤 , 구체적인 기능, 구현 내용을 컴포넌트에 외부에 기재하여 , 코드 가독성을 높여준는 Hook중 하나이다.
실습 내용 ; useReducer로 counter 구현
순서1_ 컴포넌트 내에서, state 변수, dispatch , useReducer() 객체 생성
const [state, dispatch] = useReducer(reducer , 0);
//state : 사용할 State 변수
//dispatch : useReducer 와 state 변수를 사용하겠다고 알리는 통보 , 전달자
//useReducer 객체 : 매개인자1 : reducer 함수 , state 변수 초기값
순서2_ 컴포넌트 밖에 세부 state변수의 상세 변화 구현 함수 reducer 작성
functionreducer(state, action){
switch(axtion.type 조건 내용)
{
case"ONEPLUS" : return state + action.data;
case"뒤져라" : return 그에 대힌 state 결과 반환
//ex_ case "onePlus" return stare + action.data ;
}
}
//매개인자 1 : state//매개인자 2 : action
action 객체
- 속성1 : type : 상태변화 정보가 담긴 title 이름의 문자열 ex_ "INCRESE"