🌱 기초 프론트엔드
상태(State)란?
쉽게 이해하기
전등 스위치를 떠올려 보세요. 켜져 있거나 꺼져 있거나 둘 중 하나죠. 이 '켜짐/꺼짐'이 전등의 상태예요. 웹 앱도 마찬가지로, 로그인했는지 안 했는지, 모달창이 열려 있는지 닫혀 있는지 같은 상태를 기억하고 있어야 해요.
핵심 정리
앱이 현재 어떤 상황인지 기억하는 데이터예요.
자세히 알아보기
상태(State)는 애플리케이션이 현재 어떤 상황인지를 나타내는 데이터입니다. 예를 들어 쇼핑몰 앱에서 장바구니에 뭐가 담겨 있는지, 사용자가 로그인했는지, 어떤 탭이 선택돼 있는지... 이 모든 게 상태예요. 상태가 바뀌면 화면도 함께 바뀝니다.
React를 예로 들면, useState()라는 훅으로 상태를 관리합니다. const [count, setCount] = useState(0) 이렇게 쓰면, count가 현재 상태(0)이고, setCount()로 상태를 바꿀 수 있어요. setCount(1)을 호출하면 count가 1로 바뀌고, 화면도 자동으로 다시 그려집니다.
실무에서는 상태 관리가 복잡해질 수 있어요. 여러 컴포넌트가 같은 데이터를 공유해야 할 때가 많거든요. 예를 들어 헤더에 사용자 이름을 표시하고, 사이드바에도 사용자 정보를 보여줘야 한다면? 이럴 때 Redux, Zustand, Recoil 같은 상태 관리 라이브러리를 씁니다. 전역 상태 저장소를 만들어서 어디서든 꺼내 쓸 수 있게 하는 거죠.
상태를 잘 관리하는 게 프론트엔드 개발의 핵심입니다. 상태가 꼬이면 버그가 생기고, 화면이 제대로 안 그려져요. 예를 들어 '좋아요'를 눌렀는데 화면에 반영이 안 된다면, 상태 업데이트가 제대로 안 된 거예요. 상태를 명확하게 정의하고, 한 곳에서만 변경하도록 관리하는 게 중요합니다.