Redux/Context API vs 로컬 스토리지: 언제, 왜 사용해야 할까?
소개
"Redux나 Context API 대신 그냥 로컬 스토리지를 쓰면 안 되나요?" 리액트를 처음 배우는 개발자들이 자주 하는 질문입니다. 겉보기에는 둘 다 데이터를 저장한다는 같은 목적을 가진 것 같지만, 실제로는 완전히 다른 문제를 해결하는 도구들입니다.
이 글은 prop drilling 문제부터 시작해서 각 도구의 필요성을 이해하고, 로컬 스토리지와 리액트 상태를 동기화할 때 마주치는 실제 함정들을 구체적인 코드 예시와 함께 살펴봅니다. 단순히 "둘은 목적이 다르다"는 설명을 넘어서, 각각을 언제, 어떻게 조합해서 사용해야 효과적인지를 실전 경험을 바탕으로 제시합니다.
상태 관리 도구와 로컬 스토리지를 언제, 어떻게 선택해야 할지 고민하시는 분들에게 이 글을 추천드립니다. 🚀
목차
Context/Redux/Zustand가 필요한 이유
로컬 스토리지가 필요한 이유
로컬 스토리지 사용 한계
제품 관점의 이유
리액트와의 동기화
변경 이벤트 리스닝
SSR과 서버 컴포넌트
키-값과 문자열
에러 핸들링
로컬 스토리지 사용 가치