useReducer()를 쓸 때
- state가 독립적이나 한꺼번에 update가 필요할 때
- 연관된 state나 data가 update가 한번에 일어날 때
- state가 object로 이루어지고 상태관리가 복잡한 경우
- 업데이트가 마지막 state가 정확하게 필요한 경우(숫자 카운팅)
- 컴포넌트 밖에서 선언할 수 있으므로 복잡한 logic이 필요한 경우
useState()로 쓸 때
useState는 기본이 되는 상태 관리 tool이다.
- 독립적인 state나 데이터를 관리하는데 필요하다.
- update가 상대적으로 쉽고 제한적인 상황에서 update될 때 useState를 쓰는 것이 바람직하다.