전역 상태 관리 라이브러리는 왜 사용?

규갓 God Gyu·2025년 2월 3일

면접질문

목록 보기
62/142
  1. 컴포넌트 간 상태 공유 용이
    여러 컴포넌트에서 공통적으로 사용되는 상태를 중앙화하여 관리, 여러 곳에서 쉽게 접근 가능
    부모 컴포넌트에서 자식 컴포넌트에게 상태를 전달하기 위해 여러 컴포넌트 거치는 props drilling 현상을 겪지 않고 상태 공유가 가능

  2. 관심사 분리 용이함
    별도 상태 관리를 하면 컴포넌트는 UI로직에만 집중 가능
    ex - redux엔 상태 변경 로직을 reducer에 정의, 컴포넌트 단에선 dispatch를 통해 reducer 호출하는 방식으로 동작
    이러한 분리는 관심사의 분리 원칙을 따르며 코드 재사용성과 테스트 용이성 높여줌

  3. 성능 최적화 도움
    불필요한 리렌더링 방지하는 메커니즘이 있음,
    ex - zustand는 구독 메커니즘을 통해 실제 상태가 변경된 컴포넌트만 리렌더링 되도록 보장

라이브러리 도입 시 주의할 점

작은 규모 프로젝트에선 전역 상태 관리 라이브러리가 오버엔지니어링이 될 수도 있음
오히려 불필요한 복잡성이 추가되어 개발 생산성 저하될 수 있음
react 내장 기능인 useState, useContext만으로 충분할 수 있음

프로젝트 규모가 크고 복잡한 상태 관리가 필요하거나, 여러 컴포넌트에서 공유해야 하는 상태가 많은 등 실제로 필요성이 느껴질 때 도입해야 오버엔지니어링 막을 수 있음

profile
웹 개발자 되고 시포용

0개의 댓글