리액트로 코딩을 하던중, useReducer와 Redux를 헷갈리고 말았다.
분명 겉보기엔 비슷한데 (둘다 리듀서랑 디스패치를 쓰니깐)
다르다는 제로초님의 답변....
useReducer와 Redux는 다르다.
그리고 어떠한 하나가 다른 하나를 대체할수도 없다.
한국어로 찾으니 명쾌한 답변이 없어서 영어로 찾아보니... 이런 귀중한 정보가!
https://www.frontendmag.com/tutorials/usereducer-vs-redux/
다 읽기 힘든 분들을 위해 요약하자면,
사용 사례
Redux와 useReducer 모두 고유한 강점과 약점이 있으며 둘 중 하나를 선택하는 것은 애플리케이션의 특정 요구 사항에 따라 달라집니다. 다음은 한 접근 방식이 다른 접근 방식보다 선호될 수 있는 몇 가지 일반적인 사용 사례입니다.
useReducer 사용:
- 비교적 간단한 상태 관리가 필요한 중소형 애플리케이션
- 구성 요소 또는 몇 가지 구성 요소 내에서 로컬 상태만 관리하면 되는 애플리케이션
- Redux에 필요한 추가 오버헤드 및 설정을 피하려는 애플리케이션
Redux :
- 복잡한 상태 관리가 필요한 대규모 애플리케이션
- 여러 구성 요소 및/또는 페이지에서 전역 상태를 관리해야 하는 애플리케이션
- 디버깅 및 성능 최적화를 위해 미들웨어 및 고급 도구가 필요한 애플리케이션
- 상태 관리에 대해 협업해야 하는 개발자 팀이 있는 애플리케이션
이것은 일반적인 지침이며 엄격하고 빠른 규칙이 아니라는 점은 주목할 가치가 있습니다. 많은 경우에 둘 중 하나 useReducer또는 Redux를 효과적으로 사용할 수 있으며 둘 중 하나를 선택하는 것은 개인 선호도 및 애플리케이션의 특정 요구 사항과 같은 요소에 따라 달라집니다.
한줄요약: useReducer는 store가 없어 보통 로컬 상태관리에 좋고, Redux는 store가 있어 전역상태 관리에 좋다
참고로, 둘중에 하나를 선택할 수도 있고, 둘이 같이 사용할 수도 있다
'React' 카테고리의 다른 글
setState 함수 호출 이후에 상태값을 바로 사용못함 (0) | 2023.06.21 |
---|---|
(해결과정기록) 기대와 달리 다른 컴포넌트에서 작동이 되는 경우 (1) | 2023.06.11 |
Invalid hook call 오류 (0) | 2023.06.08 |
Storybook 문서화하기 (2) | 2023.05.24 |
Custom Hooks (0) | 2023.05.23 |