useReducer()
1. 언제 사용할까?
useReducer()은 복잡한 상태를 관리할 때 사용하는 훅(Hook)으로 Redux의 Reducer와 비슷하게 만들어진 훅이다.
제어할 상태가 복잡하거나 많아서 일일이 useState 함수를 사용해서 상태를 업데이트하기에 벅찰 때 사용한다.
useReducer vs useState
구분
설명
useReducer
복잡한 상태 관리에 사용
useState
간단한 상태 관리에서 사용
useReducer 작동 흐름

액션 객체가 dispatch()함수에 전달 된다.
action을 전달 받은 dispatch()함수가 실행되면 action 객체를 reducer()의 두번 째 인자에 전달하고 reducer() 함수가 실행된다.
2번이 실행 될 때, store 내부에 있는 state(초기 상태)를 reducer()함수의 첫 번째에 전달한다.

장점
useState
의setState
함수를 여러번 사용하지 않아도 된다리듀서로 로직을 분리했으니 다른 곳에서도 쉽게 재사용을 할 수 있다
Last updated
Was this helpful?