useState
- 주요 State 관리 도구
- 개별 State 및 데이터들을 다루기 적합 / 간단한 State에 적합
- State 업데이트가 쉽고 몇 종류 안되는 경우에 적합
useReducer
- State 로써 객체가 있는 경우 / 복잡한 State
- 복잡한 State 업데이트 로직이 들어있는 리듀서 함수를 사용할 수 있음 ( 더 강력한 기능 )
- 연관된 state 조각들로 구성된 state 관련 데이터를 다루는 경우
(ex: 어떤 input의 값과 유효성에 대한 State)