올 한 해는 나에게 잊지 못할 매우 특별한 한 해였다. 특별한 이유는 사실 일과 관련된 부분이 아니라 드디어 내년에 결혼을 하게 되었기 때문인데, 아무래도 결혼 준비에 집중하다 보니 일적으로 온전히 몰두하지 못했나 싶긴 하다. 이번 회고는 여러 가지 회고 방법 중 적용해보지 않았던 SSC(Stop, Start, Continue) 방식의 회고를 항목별로 적…
원문 : React Router’s take on React Server Components 리액트 라우터(React Router)가 리액트 서버 컴포넌트 지원을 추가하고 있다는 사실을 알고 계셨나요? 아직은 실험적인 단계이지만, 곧 출시될 예정이며, 저는 리액트 라우터의 RSC 접근 방식이 정말 훌륭하다고 생각합니다. 여기서 알아두셔야 할 내용을 정리해…
원문 : How to Fix Any Bug 며칠 전 작은 앱을 바이브 코딩하고 있던 중 버그 하나를 마주쳤습니다. 버그는 대략 이런 식이었습니다. 웹앱에 하나의 라우트가 있다고 가정해 봅시다. 그 라우트는 일련의 단계, 즉 카드들을 표시합니다. 각 카드는 다음 카드로 스크롤되는 버튼을 가지고 있습니다. 모든 것이 잘 작동했습니다. 하지만 그 버튼에서 서버…
원문 : React Compiler v1.0 리액트 팀은 새로운 업데이트를 공유하게 되어 매우 기쁩니다. 리액트 컴파일러 1.0이 오늘부터 사용 가능합니다. 컴파일러 기반 린트 규칙이 의 및 프리셋에 포함되었습니다. 점진적 도입 가이드를 게시했으며, Expo, Vite, Next.js 팀과 협력하여 신규 앱에서 컴파일러를 활성화한 상태로 시작할 수 있…
원문 : Mastering Focus Management in React with 포커스 관리는 문제가 생기기 전까지는 잘 인지하지 못하는 부분입니다. 하지만 한 번이라도 문제가 발생하면 앱이 어색하게 동작하거나, 접근성이 떨어지거나, 혹은 아예 잘못된 것처럼 느껴질 수 있습니다. 오늘은 포커스 관리를 제대로 할 수 있게 도와주지만, 잘 알려지지 않은 …
원문 : Search Params Are State 검색 파라미터(Search params)는 상태입니다 — 그렇게 취급하십시오 검색 파라미터는 역사적으로 2급 상태처럼 취급되어 왔습니다. 전역적이고, 직렬화 가능하며, 공유 가능하지만, 대부분의 앱에서는 여전히 문자열 파싱, 느슨한 규칙, 취약한 유틸리티를 이용한 임시방편식 접근에 머물러 있습니다. 파…
원문 : How React Suspense Works Under the Hood: Throwing Promises and Declarative Async UI 도입: 리액트에서 비동기 UI가 어려운 이유 리액트에서 데이터를 가져오는 것은 쉽지만, 데이터를 기다리는 동안 사용자 경험을 처리하는 것은 쉽지 않습니다. 스피너, 로딩 상태, 에러 메시지 등은 종…
원문 : TanStack Form vs. React Hook Form 리액트에서 폼을 구축할 때, 좋은 전략 없이 진행하면 코드가 반복되고 복잡해지기 쉽습니다. 이 때문에 많은 개발자들이 React Hook Form 같은 인기 있는 라이브러리를 사용하여 폼을 관리합니다. 하지만 새로운 폼 라이브러리인 TanStack Form은 React Hook Form…
원문 : One Roundtrip Per Navigation 다른 페이지로 이동하려면 몇 번의 요청이 필요할까요? 가장 단순한 경우는 단 한 번의 요청만으로 해결됩니다. 사용자가 링크를 클릭하면 브라우저는 새 URL에 대한 HTML 콘텐츠를 요청하고, 그 콘텐츠를 표시합니다. 실제로는, 페이지가 이미지나 클라이언트 측 자바스크립트, 추가 스타일 등을 로드…
원문 : React Labs: View Transitions, Activity, and more React Labs 글에서는 현재 활발히 연구 및 개발 중인 프로젝트에 대해 작성합니다. 이번 글에서는 지금 바로 사용해 볼 수 있는 두 가지 새로운 실험적 기능과 현재 작업 중인 다른 영역에 대한 업데이트를 공유합니다. 참고 React Conf 2025는 1…