What is React?
바닐라 자바스크립트를 이용한 사용자 인터페이스 구축 라이브러리다.
Why?
React를 사용하는 웹사이트를 살펴보자, 예를 들면 넷플릭스.
화면의 전환이 매우 부드럽고 반응이 즉각적이며 새 페이지가 로딩되는 듯한 효과가 전혀 없다.
React는 자바스크립트 라이브러리라서 브라우저의 자바스크립트를 이용해 웹페이지와 페이지에 표시되는 사용자 인터페이스를 재로딩 없이 업데이트한다.
그게 가능한 이유는 자바스크립트가 웹사이트 백그라운드에서 실행되며 로딩이 완료된 페이즈를 읽고 조작할 수 있기 때문에다.
React vs Vanilla JS
React로 작업할땐 코드를 선언형으로 작성한다.
즉, 목표로 하는 UI 상태를 정의할 뿐 거쳐야 할 단계는 정의하지 않는다.
React가 과정을 알아서 파악해 필요한 단계를 수행한다.
반면 바닐라 자바스크립트는 선언형이 아닌 명령형으로 작성한다.
다시 말해 목표가 아니라 거쳐야할 단계를 정의한다.