본문 바로가기

공부/상태 관리

전역 상태 관리, 정말 필요한가?

반응형

 

현대 프론트엔드 개발에서는 저역 상태 관리 도구의 사용이 일반적입니다.

하지만 모든 프로젝트에서 전역 상태 관리가 필요하다고는 생각하지 않습니다. 

 

이 글에서는 전역 상태 관리가 왜 필요한지, 언제 사용하는 것이 적합한지에 대해 소개해보려고 합니다.

1. 전역 상태란? 📖

전역 상태는 앱의 여러 컴포넌트가 공통으로 사용하는 데이터를 의미합니다.

 

예를 들어

  • 로그인된 사용자 정보
  • 쇼핑몰의 장바구니 데이터
  • 다크 모드와 같은 UI 설정

 

이러한 데이터는 앱 전반에서 공유되며, 여러 컴포넌트에서 접근하고 수정할 수 있어야 합니다.

 

2. 전역 상태 관리가 필요한 경우?📖

전역 상태 관리가 필요한지 판단하려면 데이터의 범위복잡성을 고려해야 합니다.

 

데이터가 여러 컴포넌트에서 사용될 때

예) 로그인된 사용자 정보
  • 헤더에서 사용자 이름을 표시하고, 마이페이지에서 사용자 데이터를 사용한다면 전역 상태 관리가 유리합니다.

 

데이터가 여러 컴포넌트에 의해 수정될 때

예) 쇼핑몰의 장바구니
  • 제품 상세 페이지에서 상품을 추가하고, 장바구니 페이지에서 확인 및 삭제하는 경우 전역 상태로 관리하는 것이 효율적입니다.

 

데이터를 지속적으로 동기화해야 할 때

예) 다크 모드 설정
  • 사용자가 다크 모드로 전환하면 앱의 모든 페이지에서 즉시 적용되어야 합니다.

 

3. 전역 상태 관리가 불필요한 경우 📖

전역 상태 관리는 코드의 결합도를 증가시키므로, 반드시 필요한 경우에만 사용하는 것이 좋다고 생각합니다.

 

특정 컴포넌트에서만 사용되는 데이터

예) 모달의 열림/닫힘
  • 모달 컴포넌트 내에서만 사용되므로 전역 상태로 관리할 필요가 없습니다.

 

데이터가 간단하고 변경이 적을 때

예) 단순한 UI 상태
  • 이런 상태는 전역 상태로 관리하면 오히려 코드가 불필요하게 복잡해질 수 있습니다.

 

4. 전역 상태 관리의 단점 📖

결합도 증가

  • 전역 상태는 앱 전체에서 참조되므로, 상태 변경의 책임이 분산 돼 추적과 관리가 어려울 수 있습니다.

유지보수 부담

  • 코드의 의존성이 증가하고 신규 개발자나 팀원이 구조를 이해하는 데 더 많은 시간이 필요합니다.

 

결론 🧐

전역 상태 관리 도구는 개발 효율성을 높이는 데 강력한 도구가 될 수 있지만, 잘못 사용하면 불필요한 복잡성을 초래할 수 있다고 생각합니다.

 

프로젝트의 요구사항을 신중히 분석하고, 상황에 맞는 도구와 방식을 선택하는 것이 중요하다고 생각합니다.

 

 

반응형