프론트엔드 개발에서 React로 애플리케이션을 구축할 때, 컴포넌트는 자체적인 지역 상태를 갖습니다. 그러나 애플리케이션이 커지고 복잡해지며 여러 컴포넌트 간에 데이터를 공유해야 할 때, 지역 상태만 사용하면 문제가 발생하는데요. 전역 상태 관리로 이 문제를 해결할 수 있습니다.
전역 상태를 효과적으로 관리하려면, 적절한 라이브 러리를 사용해야 합니다. React에서는 전역 상태 관리 라이브러리로 Redux, Zustand, Jotai를 많이 이용하는데요. 이 글에서는 Redux, Zustand의 특징과 장단점을 살펴보겠습니다.
지역 상태 사용 시 문제점
앞서 ‘애플리케이션이 커지고 복잡해지며 여러 컴포넌트 간에 데이터를 공유해야 할 때, 지역 상태만 사용하면 문제가 발생한다’고 언급했는데요. 구체적으로 어떤 문제가 일어나는지 알아보겠습니다.
- Prop Drilling: 상위 컴포넌트에서 하위 컴포넌트로 필요한 상태나 함수를 전달하기 위해 중간 컴포넌트가 불필요하게 props를 전달합니다.
- 어려운 상태 동기화: 여러 컴포넌트에서 동일한 상태를 관리할 때, 각 컴포넌트의 상태를 일일이 동기화하기가 복잡하고, 오류도 발생합니다.
- 코드 복잡도 증가: 상태 관리 로직이 여러 곳에 분산돼 가독성과 유지보수성이 떨어집니다.
이러한 문제를 해결하려면 전역 상태를 관리해야 하는데요. 이로써 애플리케이션, 상태를 중앙에서 관리해 컴포넌트 간에 데이터를 쉽게 공유하고, 상태를 편리하게 관리할 수 있습니다.