행복을 담는 블로그

[TIL] 24.03.27(수) 상태관리를 하는 이유는? 본문

TIL

[TIL] 24.03.27(수) 상태관리를 하는 이유는?

hyun0zin 2024. 3. 28. 02:49

상태관리를 하는 가장 큰 이유는 애플리케이션의 복잡성을 관리하고 유지보수를 용이하게 하기 위함입니다.

전역으로 상태를 관리함으로써 여러 컴포넌트에서 공통적으로 사용되는 상태 및 데이터를 공유할 수 있으며, 또한 컴포넌트를 분리함으로써 컴포넌트의 재사용성을 높이고 유지보수를 보다 쉽게 만들 수 있습니다.

간단한 로직에서는 주로 useState를 통해 상위 컴포넌트에서 하위 컴포넌트로 props로 상태를 전달해주는 방식을 사용하나, 프로젝트의 규모가 커질수록 전역 상태 관리가 필요하였고, 이를 위해 redux나 zustand와 같은 전역상태 라이브러리를 사용합니다.

최근 1년간 다운로드 수를 확인 할 수 있는 "npm trend"를 확인해보아도 전역상태 관리 라이브러리 중에서 redux가 단연 1등입니다.

1등인 redux는 규모가 큰 프로젝트에서 사용할 수 있고 redux devtools를 통해 비교적 직관적으로 상태를 확인 할 수 있습니다. 하지만 다른 전역상태 라이브러리에 비해 복잡하고 초기 보일러 플레이트 코드가 많다는 단점을 가지고 있습니다.

이에 비해 최근 사용자가 점점 많아지고 있는 zustand는 redux 기반으로 만들어졌으며, redux에 비해 간단한 보일러 플레이트가지고 있으며 손쉽게 전역상태 관리를 할 수 있다는 장점이 있습니다.