React Router는 단일 페이지인 React 프로젝트에서 라우팅을 구현하기 위한 라이브러리이며, 그래서 React로 App을 만들 때 필수적으로 사용해야 한다. 그런데 왜 React는 단일 페이지로 App을 렌더링하며, 라우팅이 필요한 것일까? 라우팅을 왜 신경써서 구현해야 할까? 다른 블로그나, 커뮤니티에선 '어떻게 라우팅을 구현'할지는 많이 알려주지만, 왜 필요한 것인지, 왜 신경써야 하는지는 비교적 정보가 적을 것이다. 나 또한, 아무것도 모를 때 이런 의문을 가졌기에, 오늘은 이 둘을 다뤄보고자 한다. 왜 React는 따로 Router가 필요한가?  props를 통해 전달되지만, 애플리케이션 안의 여러 컴포넌트들에 전해줘야 하는 props의 경우 (예를 들면 선호 로케일, UI 테마) 이 과정이 번거로울 수 있습니다. context를 이용하면, 트리 단계마다 명시적으로 props를 넘겨주지 않아도 많은 컴포넌트가 이러한 값을 공유하도록 할 수 있습니다. > React 공식 문서 - Context 발췌. React 공식 문서에 따르면, 데이터를 Props로 넘기는 대신, 간편하게 데이터를 컴포넌트 전체에 제공할 수 있는 기능이라고 한다. 한번 예시를 들어 알아보자. 와 비슷하다. 그렇다면 document.getElementsById() 같은 DOM API 쓰면 안될까? DOM API는 전역적으로 동작해서, 같은 id를 가지는 DOM 요소가 여러개 생길 수 있다. ref는 컴포넌트 안에서만 동작하기 때문에 안전하다. ref는 언제 사용할까? React가 '도저히' 할 수 없는 일을 할때, 신중하게 사용한다.
이전에 React로 개발한 사무소 웹 페이지를 Refactoring 하기 위해, 새로 React 강의를 찾게 되었다! Udemy의 react 완벽 가이드 with redux next.js typescript 강의인데, 인터넷에서 평도 좋고 내가 원하는 hooks, 상태 관리 등의 심화 개념까지 다루고 있어 수강하게 되었다. (가격도 저렴한 게 좋았다!) 강의를 전반적으로 살펴보고, 내가 이전에 미처 발견하지 못했던 내용들을 정리해 간단히 공유하고자 한다. 차세대 JavaScript 새로운 언어가 아닌, 기존 자바스크립트 작성에 도움을 주는 개념들이다. 깔끔하고 강력한 리액트 앱을 작성할 수 있게 해