A JavaScript library for building user interfaces
‘React.js’는 SPA 기반의 프론트엔드 개발 프레임워크 중 하나로서, 컴포넌트 단위의 독립적인 블록을 이용한 개발 방법을 이용합니다.
비슷한 프레임워크인 AngularJS, VueJS보다 월등히 인기가 많습니다.
SPA프레임워크 중 선발주자인 만큼 막강한 커뮤니티와 자료를 보유하고 있기 때문?
Single Page Application, 한 개의 페이지로 이루어진 애플리케이션으로
MPA(Multi Page Application)과는 상반된 개념입니다.
기존 MPA 방식은 리렌더링이 많아지기 때문에 용이하지 않습니다.
SEO(Search Engine Organization)에 약하다.
<html>
<head>
<title>리액트 프로젝트</title>
<link rel="stylesheet" href="app.css" type="text/css">
</head>
<body>
<div id="app"></div>
<script src="app.js"></script>
</body>
</html>
SPA 페이지의 HTML 파일들은 모두 위와 같은 코드로 되어 있기에 검색엔진에 약합니다.
1.NPM trends

2. RN(React Native)와의 상생, 심지어는 VR에서까지 활용할 수 있습니다.
3. 막강한 커뮤니티를 보유하고 있습니다.
4. 채용공고가 많습니다.
[컴포넌트 = 벽돌] 이라고 이해하면 쉬울 것 같습니다. 벽돌을 쌓아 집을 짓는다.
헤더 컴포넌트, 바디 컴포넌트, 푸터 컴포넌트 만들어서 벽돌을 쌓아 올리듯이 개발을 하는 겁니다.

어떤 웹 사이트에 변경이 일어났다고 했을 때
SEO가 무엇인지?
->검색 엔진 최적화로써 검색엔진이 콘텐츠를 이해하고 제공하도록 돕는 것입니다.
SEO가 약한 React에서 극복할수 있는 방법이 무엇이 있는지?
->next.js를 배워보자!