Taewok
취소

[React] useLayoutEffect는 언제 사용해야 할까?

들어가며 React에서 사이드 이펙트를 처리할 때는 대부분 useEffect를 사용합니다. API 요청, 이벤트 리스너 등록, 타이머 설정, localStorage 접근 같은 작업은 보통 useEffect만으로 충분합니다. 그런데 React에는 이름이 비슷한 useLayoutEffect도 있습니다. 처음 보면 이런 생각이 들 수 있습니다. u...

[React] lazy와 Suspense로 코드 스플리팅하기

React lazy란? React.lazy는 컴포넌트를 필요한 시점에 동적으로 불러오게 해주는 기능입니다. 앱이 커지면 처음 로딩할 때 다운로드해야 하는 JavaScript 번들 크기도 커집니다. 모든 페이지 코드를 처음부터 한 번에 불러오기보다, 사용자가 해당 페이지에 접근했을 때 필요한 코드만 불러오면 초기 로딩을 줄일 수 있습니다. 이 방...

[React] React Query 기본 사용법 정리

React Query란? React Query는 서버에서 가져온 데이터를 관리하기 위한 라이브러리입니다. React의 useState와 useEffect만으로도 API 데이터를 가져올 수 있지만, 로딩 상태, 에러 상태, 캐싱, 재요청, 동기화까지 직접 처리하려면 코드가 금방 복잡해집니다. React Query를 사용하면 이런 서버 상태 관리 로...

[React] Recoil 기본 사용법 정리

Recoil이란? Recoil은 React에서 전역 상태를 관리하기 위한 라이브러리입니다. 컴포넌트 여러 곳에서 같은 상태를 읽거나 수정해야 할 때 props를 계속 내려보내지 않고 상태를 공유할 수 있게 도와줍니다. Recoil의 핵심 개념은 atom과 selector입니다. 설치하기 npm install recoil 또는 yarn을...

[React] Query String 이해하기

Query String이란? Query String은 URL 뒤에 ?를 붙이고 key-value 형태의 값을 전달하는 방식입니다. /search?keyword=react 여기서 keyword=react가 query string입니다. 검색어, 필터, 정렬 조건처럼 페이지 조회 조건을 URL에 담을 때 자주 사용합니다. 기본 형태 Que...

[React] Path Parameter 이해하기

Path Parameter란? Path Parameter는 URL 경로 안에 들어가는 동적인 값입니다. 예를 들어 게시글 상세 페이지 URL이 아래처럼 생겼다고 해볼게요. /posts/15 여기서 15는 게시글 id입니다. 이처럼 URL 경로 일부를 변수처럼 사용하는 값을 path parameter라고 부릅니다. 언제 사용할까요? P...

[JavaScript] Optional Chaining과 Nullish Coalescing

들어가며 프론트엔드에서 API 데이터를 다루다 보면 아직 값이 없거나, 특정 필드가 내려오지 않는 상황을 자주 만납니다. 이때 안전하게 값을 읽기 위해 사용하는 문법이 Optional Chaining ?.입니다. 그리고 기본값을 넣을 때 자주 사용하는 문법이 Nullish Coalescing ??입니다. 두 문법을 함께 사용하면 방어 코드를 훨...

[JavaScript] 호이스팅 이해하기

호이스팅이란? 호이스팅은 JavaScript가 코드를 실행하기 전에 선언을 먼저 인식하는 동작을 말합니다. 말 그대로 코드가 실제로 위로 이동하는 것은 아니지만, 실행 컨텍스트가 만들어지는 과정에서 선언 정보가 먼저 준비됩니다. 그래서 어떤 코드는 선언보다 앞에서 사용해도 동작하고, 어떤 코드는 에러가 발생합니다. var의 호이스팅 var...

[JavaScript] async와 await 기본 사용법

async와 await가 필요한 이유 JavaScript에서는 API 요청, 타이머, 파일 처리처럼 시간이 걸리는 작업을 비동기로 처리합니다. 예전에는 Promise의 then을 이어 붙여서 처리하는 경우가 많았습니다. fetchUser() .then((user) => fetchPosts(user.id)) .then((posts) =...

[Error] value prop without onChange handler 경고 해결하기

발생한 경고 React에서 input을 만들다가 다음 경고를 만날 때가 있습니다. You provided a `value` prop to a form field without an `onChange` handler. 이 경고는 input에 value는 넣었는데, 값을 변경할 수 있는 onChange가 없을 때 발생합니다. 문제가 된 코드 ...