React
, Vue
, Angular
사용자경험(UX)
를 제공한다.HTML
관리가 편리해진다.iOS/Android
모바일 앱 제작도 가능하다.SPA(Single-Page Application)?
HTML
, CSS
, JavaScript
로 된 코드들(정적)을 브라우저에 전송한 후, 브라우저에서 JS
는 주어진 데이터에 따라 웹 페이지를 랜더링SPA
는 서버에서 데이터를 받아올 때마다 요청을 보내서 반환된 데이터로 사이트 내용을 갱신시킴
React
: 함수. 자바스크립트에 가까움. 유연성.
Vue
: 코드가 깔끔. 배우기 쉬움. 빠른 속도의 성장.
Angular
: 구글에서 만듦. TypeScript(JS 보완) 매우 안정적이고 탄탄한 프론트엔드 앱 생성.
create-react-app
라이브러리를 사용하기 위하여 설치한다. (npm
이라는 툴 사용)
npx create-react-app blog
blog 라는 리액트 프로젝트를 생성한다.
npm start
생성된 blog 폴더를 VSCode를 통해 열고, 터미널에 npm start
를 작성한다.
npm start : package.json의 scripts에 있는 start 명령어를 실행하는 부분
node_modules : 라이브러리를 모은 폴더
public : static 파일 보관함
src : 소스코드 보관함
package.json : 설치한 라이브러리 목록
src\App.js ➡️ (index.js) ➡️ public\index.html
src\App.js → 메인 페이지에 들어갈 HTML 코드를 짜는 공간
public\index.html → 실제 메인페이지 HTML
React 프로젝트의 src 폴더 안에 App.js 파일이 있다.
App.js 파일에서 App함수의 return 괄호 안에 HTML
을 대신하여 JSX
를 코딩한다.
JSX 란 ?
JavaScript eXtension 즉 기존 자바스크립트의 확장문법으로,
자바스크립트 안에 쓰는 HTML 문법을 뜻함
React가 HTML문법보다 편리한 이유 : 데이터 바인딩을 손쉽게 할 수 있다.
function App() {
let posts = '강남 고기 맛집';
return (
<div className="App">
<div className="black-nav">
개발 Blog
</div>
<h4>{posts}</h4>
</div>
);
}
posts
라는 변수를 선언하고, 중괄호를 사용하여 {posts}
변수를 데이터 바인딩한다.
function App() {
let posts = '강남 고기 맛집';
function 함수(){
return 100
}
return (
<div className="App">
<div className="black-nav">
개발 Blog
</div>
<h4>{함수()}</h4>
</div>
);
}
함수
라는 함수를 생성하고, {함수()}
함수를 데이터바인딩 한다.