[번역] useEffect 완벽 가이드 원본: https://overreacted.io/a-complete-guide-to-useeffect/ Hook과 함께 몇몇 component를 작성해 봤을 것입니다. 아마도 작은 앱까지도. 대부분 만족 했을 것입니다. API가 편안하다는 느낌을 받고 몇가지 트릭을 익혔을 것입니다. 심지어 반복된 코드를 custom Hooks으로 만들어 내었습니다.(300 줄이 줄었습니다!) 그리고 동료들에게 보여주면 "잘했어"할 것입니다. 하지만 useEffect를 사용할 때마다 잘 들어맞지 않습니다. 뭔가 놓치고 있다는 느낌을 계속 받게 됩니다. class lifecycles와 비슷하게 보이지만... 정말 그렇습니까? 아래의 질문을 하게되는 자기자신을 보게 됩니다: 🤔 useE..
TypeScript에서 더 나은 구성을 위한 satisfies 연산자 원문: https://www.builder.io/blog/satisfies-operator TypeScript에서 type-safe 구성을 하는 새롭고 더 나은 방법이 있습니다. TypeScript 4.9에서 발표된 새로운 satisfies 연산자를 사용합니다. type Route = { path: string; children?: Routes }; type Routes = Record; const routes = { AUTH: { path: '/auth', }, } satisfies Routes; // 😍 왜 satisfies가 필요합니까? 위 예시를 표준 type 선언으로 다시 작성하는 것부터 시작하겠습니다. type..
[번역] JavaScript Deep Cloning 객체 최신 방법 원문: https://www.builder.io/blog/structured-clone JavaScript에 객체의 깊은 복사를 하는 기본적인 방법이 있다는 것을 알고 있었습니까? 맞습니다, structuredClone 함수는 JavaScript 런타임에 내장되어 있습니다.: const calendarEvent = { title: 'Builder.io Conf', date: new Date(123), attendees: ['Steve'], }; // 😍 const copied = structuredClone(calendarEvent); 위의 예시에서 객체 뿐만 아니라 중첩 배열, 심지어 Date 객체까지 복사..