피자를 먹고싶을 때 내가 보는 레시피와 피자 가게에 주문하는 것의 차이라고 볼 수 있다.
- 레시피 : 피자 재료를 준비하고 밀가루를 이용해 도우를 만들고...
- 주문 : 피자를 만들어 주세요
코드를 예시로 들면 화면에 어떤 숫자를 띄우고 그 숫자를 바꾸기 위해선 바닐라 js에서는 id나 class로 직접 DOM에 접근하여 화면에 표시된 숫자의 element를 가져온 다음에 숫자를 바꾸고 화면에 다시 바뀐 숫자를 넣어줘야 하지만 react에서는 setState만 사용하면 나머지 작업은 react가 알아서 해준다.
Next.js는 Rust로 만든 SWC라는 자바스크립트 컴파일러를 통해 이런 기능을 제공한다.