공통점 : 다른 사람이 만들어 둔 코드
Framework
다른 사람이 만든 틀(Frame) 안으로 내가 들어가서 작업하는 것
Library
내 작업에 다른 사람이 만들어 둔 코드를 가져와서 사용하는 것
React란? 사용자 인터페이스(UI)를 만들기 위한 JavaScript 라이브러리
시대적 요건에 따라 복잡성이 증가하여 기술 발전함에 따라 Front-end 도 같이 발전
· 2013년 Facebook에서 개발한 Library
· Angular, Vue 등의 다른 프레임워크와는 달리 오로지 View만 담당하는 라이브러리
· 그만큼 내장되어 있는 기능이 부족해 third-pary 라이브러리(ex.react-router-dom, redux)를 함께 사용한다.
가상 돔은 이전 UI 상태를 메모리에 유지해서, 변경될 UI의 최소 집합을 계산하는 기술
리액트는 가상 돔(virtual-dom)을 만들어서 유지하고있다.
화면의 변화가 필요할때 마다 virtual-dom 안에서 미리 필요한 부분을 미리 계산하고, 실제 dom 에는 한번의 수정만 가하는 식으로 최적화를 구현하고 있다.
즉, 불필요한 UI 업데이트는 줄고, 성능은 좋아진다.
재사용 가능한 각각의 독립된 모듈 즉, 재사용 가능한 UI 구성 단위
장점
import React from "react";
class Login extends React.Component{
render(){
return <h1>Login</h1>;
}
}
function Login(){
return <h1>Login</h1>;
}
장점
특징
리액트 프로젝트를 시작하는데 필요한 개발 환경을 세팅 해주는 도구(toolchain)
리액트로 웹 애플리케이션을 만들기 위한 환경을 제공한다. CRA를 이용하면 하나의 명령어로 리액트 개발환경을 구축할 수 있다.
$ node -v
$ npm -v
npx create-react-app 프로젝트이름
npm start