useState를 써야할까, useReducer를 사용해야할까? 그 차이는?...
결론
- 간단한 상태를 관리할 때는 useState를, 복잡한 상태를 관리할 때는 useReducer를 사용합니다
useState
: 단순한 상태 관리
- 하나의 값 또는 객체 상태를 관리할 때 사용
- setState를 통해 상태를 업데이트하고, 이전 상태와 새로운 상태를 합쳐서 새로운 상태를 만듭니다.
- 상태 업데이트가 간단하고 컴포넌트에서 관리해야 할 상태가 하나 또는 몇 개라면 useState를 사용하는 것이 더 간단합니다.
useReducer
: 복잡한 상태 관리
- 복잡한 상태를 관리할 때 사용
- dispatch를 통해 액션(action)을 전달하고, 액션 객체에 따라 상태를 업데이트합니다
- 상태 업데이트 로직이 복잡하고 여러 개의 상태를 관리해야 하거나, 상태 업데이트에 여러 개의 액션이 필요한 경우 useReducer를 사용하는 것이 더 적합합니다
- useReducer는 상태 업데이트 로직을 분리하여 관리할 수 있기 때문에, 코드의 가독성과 유지보수성을 높일 수 있습니다.