
A JavaScript library for building user interfaces
공식 문서에 따르면 리액트는 UI를 빌딩할 수 있는 JS 라이브러리이다.
UI를 빌딩한다는 것은 사용자에게 보여지는 부분을 구축한다는 의미이다.
Single Page Application의 약자로 한 개의 페이지로 이루어진 애플리케이션
SPA의 특징과 장점
한 개의 페이지로 구성된 웹 앺으로, 서버에 1회 리소스를 요청한다.
프로젝트 내부에는 index.html 하나 뿐 나머지는 JS로 가져온다.
페이지가 갱신되는 상황이 없으므로 자연스러운 UX를 구현할 수 있다.
SPA의 단점
SEO(Search Engine Organization)을 위해선 HTML 페이지 전체가 필요한데, SPA 페이지의 HTML 파일들은 검색엔진이 찾기 어렵게 짜여져 있다.
컴포넌트는 벽돌처럼 쌓아 올리듯 개발하는 것
SPA 프레임워크는 컴포넌트 단위로 변경사항을 반영하기 때문에 전체 페이지가 리로딩되는 현상이 없다.
변수 : let, 상수 : const
if (1==1){
var a = 3;
console.log("a",a);
}
console.log("바깥 a",a);
object는 항상 key-value pair 기억할 것!
value 값엔 어떤 타입이든 올 수 있다.
const age = 21;
const textObj={
name:'jinwoo',
age:age, // key value가 같은 모양이다? 생략 가능 age:age => age
company:'Team Sparta',
doSomething: function(){}
};
const obj1 = {
value1:10,
};
const obj2 = obj1;
obj2.value1 = 1;
const obj3 = JSON.parse(JSON.stringify(obj1));
obj3.value1 = 15;
// 새로운 객체를 만드는 것, 새로운 주소값을 갖게 된다.
console.log(obj1);
console.log(obj2);
console.log(obj3);
obj1을 복사한 obj2의 값을 바꿀 때 obj1의 값도 바뀌게 된다.
이는 obj2는 obj1의 주소값을 복사했기 때문인데, 이를 해결하기 위해 JSON.parse를 사용해주자!
...(전개 연산자)
let [name,...rest] = ["Jinwoo",27,'Seoul']
console.log(rest);
let names = ["Steve", "John"];
let students = ["Tom", ...names];
console.log(students);
['Tom', 'Steve', 'John]
전개 연산자를 사용하면 배열의 구조를 깨고 나온다.
function sum(x,y){
return x + y;
}
const sum2 = (x,y)=>{return x+y};
return 문을 생략할 땐 중괄호를 빼줘야 한다는 것을 잊지 말자!
const sum2 = (x,y)=>x+y;
(1) 크롬 브라우저
(2) VScode
(3) git
(4) Node
(5) yarn
터미널에 yarn 설치
npm install -g yarn
설치 확인(버전 확인)
yarn -v
yarn으로 패키지 설치 방법
yarn add [설치할 패키지 이름]
npm과 yarn
모두 자바스크립트 런타임 환경인 Node의 패키지 관리자
전반적으로 yarn이 속도, 보안 면에서 우수하므로 yarn을 사용할 예정이다.