REACT29 TanStack-Query 효율적으로 활용하기 이 글의 코드는 Tanstack-Query V4 코드를 기준으로 작성되었습니다. 들어가며TanStack Query (전 React-Query)는 클라이언트에서 서버 상태를 쉽게 관리할 수 있도록 도와주는 라이브러리입니다. 대표적으로 캐싱, 자동 업데이트, 로딩과 에러 등의 통신 상태에 관련된 추상화 된 인터페이스들을 제공하는데, 그 기능들이 굉장히 강력하고 편리해서 프론트엔드 생태계 전반적으로 널리 사용되는 인기있는 라이브러리가 되었습니다. 오늘은 이 TanStack Query가 지원하는 기능들을 통해 프로젝트에서 유용하게 활용했던 몇 가지 방법에 대해 정리하려 합니다. 쿼리 무효화 (Query Invalidation)캐시된 데이터를 강제로 갱신하기 위해 refetch() 를 사용하는 방법도 있지만.. 2025. 3. 4. Impression log 사용하기 들어가며사용자의 행동을 추적하고 분석하기 위해서는 유저의 활동 기록을 남기는 작업이 필수적인데요, 이를 로깅이라고 합니다. 제품을 개발하는 입장에서는 이러한 로깅을 통해 프로그램의 품질을 개선하고 예기치 않게 발생하는 문제를 해결하는 데 도움을 받을 수 있습니다. 프론트엔드에서 주로 기록하는 로그는 크게 세 가지입니다. 페이지 뷰(page view), 클릭(click), 임프레션(impression) 이 바로 그것인데요. 오늘 글에서 다뤄볼 주제는 임프레션 로그입니다. 이 글에선 임프레션 로그가 무엇이고 React 기반의 프론트엔드 환경에서 어떻게 구현할 수 있을지, 그리고 구현 중에 마주할 수 있는 문제들과 그 해결 방법에 대해 알아보겠습니다. 임프레션 로그(Impression Log)임프레션 로그.. 2024. 7. 1. React 19? 18.3 먼저 살펴보기 들어가며 지난달 25일, React 19가 공개되었습니다. 여러가지 기능이 추가된 버전을 사용할 수 있게 되었는데, 기존 프로젝트에서 곧바로 버전을 올리기엔 고려해야 할 점들이 꽤 존재합니다. 18에서 19로 업그레이드를 생각하는 사용자들을 위해, React 18.3이 함께 공개 되었습니다. 18.3 은 이전과 기능상으로 완전히 동일하지만, 19에서 deprecated된 API들에 대한 경고가 추가되었습니다. 리액트 팀은 버전 업 이전에 먼저 적용해보고, 충분한 수정 작업을 거친 뒤 올리기를 권장하고 있네요. 이 포스트에서는 개인적으로 중요하다고 생각되는 변경점들을 일부만 살펴 볼 예정이고, 전체 변경 내용은 React 19 업그레이드 가이드 문서나 릴리즈 노트를 참고해주세요. 변경점문자열 re.. 2024. 5. 5. useEffect 내부에서는 기명함수를 사용하자 useEffect useEffect는 외부 시스템과 컴포넌트를 동기화 시켜주는 리액트 훅으로, 공식 문서에 나와있는 useEffect의 예시 코드는 이러한 모양입니다. 코드를 보면, useEffect의 첫 번째 인자로 트리거 시 실행될 동작을 익명함수로 넣어주고 있습니다. 이때 훅 내부의 함수가 길어지면 특별한 주석 없이는 코드의 동작을 알기 어려워 질 때가 종종 발생합니다. 따라서 함수를 적절한 이름을 붙인 기명함수로 바꿔주면 팀원들의 이해를 도와줄 수 있습니다. 이 상태에서, 임의로 오류를 발생시켜 보겠습니다. Uncaught Error: Error occurred! at (/src/App.jsx?t=1710664770335:24:11) 에러가 발생한 위치의 stack trace에 at 뒤로 파일의 .. 2024. 3. 17. Redux와 RTK로 상태 관리하기 들어가며 React에서 전역 상태를 관리하는 방법은 다양합니다. React가 공식적으로 제공하는 Context API부터, 얼마전에 소개했던 Zustand 등 수많은 라이브러리들이 있습니다. 오늘은 그중에서도, 꽤 오랜 시간 사용되어 온 Redux와 RTK에 대해 알아보겠습니다. Redux Redux는 Flux 패턴을 따라가는 상태 컨테이너입니다. Dispatcher의 Action를 통해 Store의 상태를 변화시키고, 이 상태가 다시 View에 차례대로 반영되는 단방향 구조가 Flux 패턴의 핵심입니다. 이러한 구조로 만들어진 컨테이너를 활용하여 쉽게 데이터를 집약하고, 일관성 있게 관리할 수 있다는 것이 바로 Redux의 장점입니다. 예시를 통해 React에서 Redux를 사용하는 방법에 대해 알아보.. 2024. 3. 3. Zustand로 전역 상태 관리하기 들어가며 React에서 전역 상태를 관리하는 방법에는 대표적으로 Context API가 있습니다. 단방향의 데이터 흐름을 해치지 않으면서도, Provider를 통해 각 컴포넌트에서 상태를 사용할 수 있게 해주는 기능입니다. React에서 공식적으로 지원하는 기능이기에 공식 문서에서도 이 방법을 추천하고 있습니다. 아직 Context API에 대해 잘 모른다면 아래 포스트를 참고해주세요. Context API 개념 잡기 그러나 Context API를 직접 사용하지 않고 서드 파티 라이브러리를 이용해 전역 상태를 관리하는 방법도 있습니다. 대표적으로 Zustand, Recoil, Jotai 등이 있는데요, 오늘은 Zustand를 사용하는 방법과 주의할 점들을 알아보도록 하겠습니다. 구성 먼저 사용하는 패키지.. 2023. 12. 20. 이전 1 2 3 4 5 다음