[리액트]SPA 동작 순서
SPA는 Single Page Application의 약자로 한 번 웹 페이지를 로딩하면 사용자가 새로고침하지 않는 이상 페이지를 새로 로딩하지 않는 애플리케이션을 의미한다.
이게 무슨 의미일까?
React 동작순서
- index.html 렌더링
- HTML이 body태그를 렌더링하다가 마지막에 bundle.js 스크립트를 로딩하게 되고 거기에 index.js가 포함되어있음.
- index.js 실행
- ReactDOM.render() 함수가 실행됨 -> 매개변수가
<APP />이라서 해당 element를 렌더링하게 됨.
- ReactDOM.render() 함수가 실행됨 -> 매개변수가
- root element 하위에 React.js가 생성한 HTML element 추가됨
- ReactDOM이 내부 컴포넌트들을 root 엘리먼트에 렌더링함.
- root element 하위 element 렌더링
SPA에서 페이지를 변경하고 싶다면?
root의 하위 엘리먼트를 다른 HTMl로 수정해야한다.
HOW?
fetch나 ajax등의 함수로 서버에 데이터를 요청한 뒤 응답 데이터를 받음 -> js내에서 HTML 재구성된다.
이렇게 서버에게 새 HTML 페이지를 요청하지 않고 데이터를 받은 다음에 js가 동적으로 HTML 재구성해서 만드는 클라이언트 애플리케이션을 SPA라고 한다.
이 렌더링 과정을 Client-side Rendering이라고 함.
![[OS/WINDOW]배포후 서버재시작에 batch와 윈도우 스케줄러 활용하기](https://cdn.pixabay.com/photo/2012/03/04/00/50/board-22098_960_720.jpg)
![[블로그]헥소테마에서 댓글기능 facebook에서 utterances로 변경하기](https://miro.medium.com/max/1600/1*aOv6h3h_v9PQWa03zGACnw.png)