반응형

React 4

React Suspense & lazy() – 코드 스플리팅으로 로딩 속도 최적화하기

안녕하세요 😊React 프로젝트가 커질수록 초기 로딩 속도가 느려지는 문제를 겪게 됩니다.이럴 때 효과적인 방법이 바로 **코드 스플리팅(Code Splitting)**입니다. React는 기본적으로 import로 컴포넌트를 불러오지만,필요할 때만 해당 컴포넌트를 로드하도록 설정하면 초기 번들 크기를 줄일 수 있습니다.이때 사용하는 것이 **React.lazy()**와 ****입니다.📍 1. React.lazy()란?컴포넌트를 **지연 로딩(Lazy Loading)**하는 함수해당 컴포넌트가 실제로 필요할 때만 로드 → 초기 번들 크기 감소기본 문법const MyComponent = React.lazy(() => import("./MyComponent"));📍 2. Suspense란?lazy로 로드..

React 2025.08.25

React useMemo & useRef – 렌더링 최적화와 값 유지의 모든 것

안녕하세요 😊React를 사용하다 보면“이 계산은 매번 다시 하지 않아도 되는데…”“렌더링이 되어도 이 값은 유지하고 싶다…”이럴 때 유용한 Hook이 바로 **useMemo**와 **useRef**입니다.이번 글에서는 두 Hook의 차이점과실무에서 어떻게 활용할 수 있는지 예제와 함께 정리해드리겠습니다.📍 1. useMemo – 계산 결과 메모이제이션기본 개념의존성 배열이 변할 때만 함수를 실행하고, 그 외에는 이전 계산값을 재사용 예제import { useMemo, useState } from "react";export default function ProductList({ products }) { const [filter, setFilter] = useState(""); const filte..

React 2025.08.19

React useTransition이란? 느린 업데이트를 비동기 전환으로 부드럽게 처리하는 방법

안녕하세요 😊이번 글에서는 React 18 이후 도입된 동시성(Concurrency) 관련 Hook인 **useTransition**을 알아보겠습니다.useTransition은 덜 중요한 상태 업데이트를 **비동기 전환(transition)**으로 표시하여, 사용자의 타이핑/클릭 같은 긴급한 인터랙션이 느린 렌더링에 막히지 않도록 도와줍니다.1) useTransition 한 줄 정의긴급도 낮은 업데이트를 “전환”으로 표시해, UI가 끊기지 않게 만드는 Hook반환값: [isPending, startTransition]isPending: 전환 중인지 여부 (로딩 스피너, 로딩 텍스트 등에 활용)startTransition(cb): cb 안의 상태 업데이트를 낮은 우선순위로 실행2) 언제 쓰면 좋은가요?검..

React 2025.08.12

React useDeferredValue란? 느린 작업을 부드럽게 처리하는 Hook 사용법 완벽 정리

이번 글에서는 React의 성능 최적화 Hook 중 하나인useDeferredValue에 대해 알아보겠습니다.이 Hook은 사용자 입력과 같이 빠르게 바뀌는 값의 **"지연된 버전"**을 만들어UI가 끊기지 않고 부드럽게 렌더링될 수 있도록 도와줍니다.초보자 분들도 이해할 수 있도록 개념부터 사용법, 실전 예제까지 차근차근 설명드릴게요!📍 1. useDeferredValue란?useDeferredValue는바로 반영하지 않고, 브라우저가 여유 있을 때 값 업데이트를 미루는 Hook입니다.주로 입력이 빠르게 바뀌는데, 그걸 기반으로 무거운 연산을 해야 할 때 사용됩니다.예: 검색창에 입력할 때마다 긴 리스트를 필터링해야 한다면→ useDeferredValue로 부하를 줄일 수 있습니다.📍 2. 기본 사..

React 2025.08.05
반응형