최근까지 회사에서 Vue를 사용했으나, 팀 개편 이후 다시 리액트를 사용해야하는 상황이 되었다. 사이드 프로젝트를 해오긴 했지만 새 팀에서 주어진 업무에는 단순히 리액트로 코드를 작성하는 것에 그치는 것이 아닌, 리액트 컴포넌트 및 로직 설계까지 요구되었기 때문에 바쁘
'함수와 함수가 선언된 어휘적 환경(렉시컬 스코프)의 조합'선언된 어휘적 환경은 변수가 코드 내부 어디에서 선언되었는가를 말하는 것이라고 생각하면 된다.(\*클로저가 생성될 때마다 선언적 환경이 기억된다는 것은 생성될 때마다 비용이 발생하는 것이라고도 할 수 있음.클로
객체를 반환하는 경우에는 객체 분해 할당 시 사용자가 원하는 이름으로 변경하는 것이 어려우나, 배열 구조 분해 할당은 자유롭게 이름이 선언 가능하기 때문에 배열을 반환하는 것으로 추측한다고 한다. 배열 분해 할당은 콤마(,)를 기준으로 위치에 따라 값이 결정되는데, 중
오늘은 리액트를 사용할 때 좋은 타입스크립트 개념들에 대한 내용들이 많다 unknown 활용 시 type narrowing을 해주어야 하는데, 이를 통해 타입의 범위를 의도했던 대로 좁힐 수 있게 된다. (\*unknown 과 반대되는 타입이 never인데, 어떠한 타
리액트를 처음 시작했을 때는 함수형 컴포넌트에 대해서만 배웠었고, 회사에 다니기 시작하면서는 리액트를 거의 사용하지 않고 Vue 작업을 위주로 했었기 때문에 마음 한 편에는 항상 클래스형 컴포넌트가 궁금하다는 마음이 자리잡고 있었다클래스형 컴포넌트에서는 생명주기가 중요
요즘은 이전에 작업된 리액트 코드를 보면서 리팩토링을 진행하고 있다오늘은 메모이제이션, 최적화에 대해서 고민을 해봤는데 마침 딥 다이브에서도 리렌더링에 대한 부분이 나와서 반갑다 🤗이런 리렌더링 사이클에 대해서 잘 알고 있으면 처음에 컴포넌트를 설계할 때부터 리렌더링
잘하고 싶다는 욕심을 가지는 건 좋은 일이지만 남과 비교하는 건 틀린 방향을 보고 있는 거라는 거 기억하기🧟♀️useState는 클로저를 통해서 관련된 정보를 저장해두고 필요할 때마다 꺼내서 사용할 수 있게 한다state는 useState 외부에 저장되며, useS