웹의 발전
1세대 웹
HTML을 중심으로 한 정적인 화면을 구현하는 데 그쳐 있었다
야후가 대표적인 사이트이며 온라인 방명록 같은 게 있을 수 있다
2세대 웹
웹 1.0(1세대)는 인터넷을 통해 일방적인 정보를 보여주었다면,
웹 2.0(2세대)는 사용자가 직접 콘텐츠를 생산하여 쌍방향으로 소통할 수 있다.
게시판, 댓글, 블로그, UCC, 지식백과 등이 있다
3세대 웹
우리가 HTML을 배울 때 먼저 듣게 되는 말인 시멘틱 웹 기술을 사용하고 내용을 이해하며 맞춤형 정보를 제공하는 지능형 웹 기술을 도입한 게 3세대 웹이다
읽기 쓰기를 넘은 소유라는 개념이 생기기 시작하였고 데이터를 동적으로 처리하고 사이트를 다이내믹하게 구성하는 요소들이 많이 생겨나면서 나오기 시작한 프레임워크와 라이브러리 중 하나가 리액트이다
리액트는 라이브러리이다
JS를 도와주는 도구 라이브러리
가상 돔??
DOM은 HTML 문서나 XML 문서에 접근하기 위한 일종의 인터페이스이다
가상 돔이란 말 그대로 가상의 돔, 실제 DOM의 사본 같은 개념이다.
DOM트리는 수정될 때마다 실시간으로 렌더링 작업이 반복적으로 일어나게 된다
가상 돔은 변경된 사항만 실제 DOM에 반영하여 불필요한 렌더링 횟수를 줄일 수 있다
JSX
javascript를 확장(XML)한 문법이다
브라우저를 실행하기 전 바벨이라는 것을 사용하여 자바스크립트 형태의 코드로 변환한다
const name = 'Josh Perez';
const element = <h1>Hello, {name}</h1>;
ReactDOM.render(
element,
document.getElementById('root')
);
name이라는 변수를 선언한 후 중괄호로 감싸 JSX 안에 사용한다
중괄호 안에는 Javascript의 표현식을 넣을 수 있다
예를 들면 2 + 2, user.firsName 같은 것들을 넣어서 사용할 수 있다
'javaScript' 카테고리의 다른 글
[React] .map() 사용 시 key값을 쓰는 이유 (0) | 2022.06.11 |
---|---|
[React] Component? (0) | 2022.06.09 |
[JS] createElement(), appedChild(), innerHTML() (0) | 2022.06.01 |
[JS] function(함수)문제 데이터 반환하기 (0) | 2022.06.01 |
[JS] javascript DOM이란? (0) | 2022.05.30 |