URL를 State로 가져오는 것은 제약이 많다.
2025. 6. 18.
Beyond the Article: 한 걸음 더
URL를 State
로 가져오는 것은 제약이 많다.
Beware The URL Type-Safety Iceberg | nuqs 🔗이전에 SearchParams는 State다. 하지만 type-safe한가?에서 소개한 nuqs의 메인테이너가, nuqs는 런타임 type-safe보다, "time-safe"에 집중하고 있음을 소개하고 있습니다. time-safe가 무엇인지, SearchParams를 상태로 가져오는 것에 어떤 제약이 있는지 친절하게 소개하고 있으므로, 꼭 보시길 바랍니다. 어쩌면, Tanstack router에게 보내는 글일 수도 있겠네요.
"리액트 상태"는 잘못 설계되었을까.
useState should require a dependency array 🔗한 개발자의 useState
에는 dependency array가 있어야 했다. Signal처럼 되었어야 하는데 잘못된 설계다.라는 것을 주장하고 있는 글입니다. 물론, 그에 반대되는 입장 또한 존재합니다(Signal을 React에서 쓰는게 좋은가?). Signal을 사용하려면 <For>
과 <Show>
같은 라이브러리에서 제공하는 태그를 사용해야 한다는 것에 Svelte가 겪은 단점을 그대로 겪을 수 있다는 것(Svelte 5의 명과 암)과 똑같은 일이 일어날 수 있음에 Signal을 사용하는 것을 경계하고 있습니다. 저 또한 Signal을 React에서 사용하는 것은 좋은 선택이라고 생각하지는 않지만, 사용은 자유니까요 🙂.
웹은 항상 발전되어왔다. 그렇기에 항상 주목해라.
Hacking Layout Before CSS Even Existed — Den Odell 🔗어떻게 보면 "라떼는"의 글입니다. 하지만, 웹이 왜 이렇게 발전해왔는지, 그러므로 어떤 마음가짐을 가져야 하는가에 대한 에세이입니다. 하지만 최근 브라우저 회사에서 Baseline이라는 기준을 가지고 여러 방식으로 도움을 주고 있고(Polyfill을 언제 사용해야 할까), e18e같은 여러 단체(E18E가 뭔데)에서 오픈소스의 최신화에 여러 지원을 하고 있으므로, 항상 도구를 알맞게 사용하고, 프로젝트에서 어떤 제약을 갖고 있고 그에 맞게 어떤 기술을 사용해야 하는지 아는 것이 필요해보입니다.
제발 Node.js 버전 관리 좀 하세요.
Node.js — Beware of End-of-Life Node.js Versions - Upgrade or Seek Post-EOL Support 🔗Node.js LTS는 1년동안 Active 상태가 되고, 1년 반동안 Maintenance 상태가 됩니다. 단순히.. Node.js의 버전에 관심을 가지지 않는 사람들이 많아 소개드립니다.
RSC에서 import는 어떻게 동작할까
How Imports Work in RSC — overreacted 🔗자바스크립트에서 import
와 모듈 시스템이 어떻게 동작하는지 설명하고, 이에 대한 문제, RSC는 어떻게 이를 대응했는지 소개하는 글입니다. 물론 이 import 'server-only'
같은 구문을 싫어하는 사람들도 있지만(Server Components에 대한 리뷰), RSC에서 이렇게 구성한 이유를 설명해주므로, RSC를 왜 이렇게 설계했는지 이해하고 넘어갈 수 있을 것 같습니다.
Straight to the Article: 빛나는 인사이트
2025년의 React, 그리고 커뮤니티
The State of React and the Community in 2025 · Mark's Dev Blog 🔗React가 2023년부터 지금까지 어떻게 흘러왔는지, 커뮤니티와 어떻게 대립했는지(특히 Next.js와 React의 관계)를 적어놓은 글입니다. 지금까지의 행보들은 아쉽지만, 앞으로 잘 나아가면 좋겠네요.
useSyncExternalStore
는 꽤나 사용하기 쉽다.
Reactivity is easy 🔗useSyncExternalStore은 왜 존재하는가에서는 왜 존재하는지에 집중하는지 소개했다면, 이 글에서는 어떻게 사용하면 좋은지 소개합니다.
node:module
으로 간단하게 HMR만들기
Immaculata.dev - HMR natively in Node.js (technical write up) 🔗Suspense 작동원리 가볍게 알아보기
How React Suspense Works Under the Hood: Throwing Promises and Declarati... | Epic React by Kent C. Dodds 🔗린트 규칙 억제를 억제하지 마세요.
Suppressions of Suppressions — overreacted 🔗모던 툴링으로 교체하자 내 인생이 달라졌다
How can modern tooling save Mercedes-Benz.io engineering time? | Mercedes-Benz.io 🔗AsyncLocalStorage로 SSR에서 Context 대체하기
Use Async Local Storage to prevent props drilling in Next.js Route handlers | Nico's Blog 🔗React 없이 useState만들어보기
How to Create Your Own Simple useState Hook 🔗Fresh Finds: 놓치지 말아야 할 소식
Oxlint v1.0 Stable | The JavaScript Oxidation Compiler 🔗앞서 소개된 모던 툴링 중 하나인 oxlint가 1 버전이 나왔다는 소식입니다.
Jest 30: Faster, Leaner, Better · Jest 🔗jestrk 30버전을 맞으면서 여러 표준 기반 기능을 추가하고, 호환성을 수정했습니다.
Release v1.0.0 · nodejs/amaro · GitHub 🔗이전에 소개했던 Node 네이티브 type stripping이 안정적인 패키지로 배포되었습니다.
React Native 0.80 - React 19.1, JS API Changes, Freezing Legacy Arch and much more · React Native 🔗레거시 아키텍쳐(new 아키텍쳐의 반대)의 유지보수를 멈춘다는 소식을 갖고 있는 RN 0.80 배포 소식입니다.
Roadmap to v4 · Nuxt Blog 🔗Nuxt 4가 늦어지는 이유와 4버전 업데이트에는 어떤 것이 포함되어있는지 소개하는 글입니다.
Lingo.dev - Automated AI localization for web & mobile apps 🔗i18n을 쉽게 제공하는 컴파일러 방식 i18n 제공 라이브러리입니다.
번외: 마이크로소프트의 대규모 마이그레이션 전략
Daniel Sada Caraveo – Part 7: Office Migration from Source Depot to Git, or how I learned to love DevEx. – Software, Notes & Culture 🔗마이크로소프트의 Source Depot에서 Git으로의 마이그레이션 전략을 소개하는 글입니다. 프론트엔드와 직접적인 관련은 없지만, 전략을 배우기 위해 읽어보기를 추천드립니다.