일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- mysql
- 동기
- prj
- async
- database
- webpack
- 혼프
- slow and steady
- https://m.blog.naver.com/tt2t2am1118/221010125300
- setTimeout()
- promise
- await
- Import
- Project
- 참고블로그
- ajax
- json
- eport
- callback
- Porject
- sql
- js
- execCommand
- 게임
- 비동기
- https://youtube.com/playlist?list=PLuHgQVnccGMA5836CvWfieEQy0T0ov6Jh&si=FTaYv8m21EhO-A2K
- db
- JS #프로젝트
- addEventListener
- object
- Today
- Total
C-log
⚛️React Training : React의 간단한 원리 본문
프로젝트 수업에 들어가기 앞서 리액트의 jsx문법을 사용하지 않고 unpkg 사이트의 React npm에 등록된 CDN과 순수 js만을 이용해서 span 이 어떻게 생성되고 render되는지 한번 살펴보겠다.
우선 HTML에서 div를 생성함과 동시에 div의 id 프로퍼티를 제공해야한다. 해당 id가 제공되면 getElement로 id를 불러와서 React에서 제공되는 createElement를 이용해서 각 프로퍼티들을 생성하게 된다. 여기서 깊게 들어가 React의 createElement를 이용하려면 DOM과 children(childNode)이라는 개념을 알아야한다. 즉, DOM트리에 우리가 접근하기 위해서 사용했던 document로 각 자식 노드에 접근 할 수 있는 것이다. (headr와 body는 html의 childNode이다.) 그래서 Jsx 문법으로 작성을 할 때 return문에 부모 태그가 없을 때 오류가 나는 이유이다. 아래 코드는 기존 js로만 코드를 작성했을 때이다.
조금만 더 나아가서 Jsx 문법은 js를 확장시킨 문법이다. Jsx는 브라우저가 바로 이해 할 수 없기 때문에 Babel과 같은 트렌스 파일을 이용해서 일반적인 js로 변환해 줘야한다. Jsx를 이용하려면 우리가 babel CDN을 연결해야한다. 이를 연결해서 컴포넌트를 생성하고 랜더링 하는 코드를 살펴보자.
babel CDN을 적용하고 script의 type을 text/babel로 설정하고 Jsx문법을 작성해야 브라우저에서 js를 이해하고 html랜더링하게 된다.
이렇게 우리는 DOM을 더 잘 이해해야하고 그것들을 인지한 상태에서 React의 Jsx 문법을 사용하면 훨씬 도움이 많이 될 것이다.
* Reference
'⚛️React > ⚡ver.2' 카테고리의 다른 글
⚛️React Training - section04 : Memo (0) | 2024.02.03 |
---|---|
⚛️React Training - section04 : Props와 Components (0) | 2024.02.03 |
⚛️React Training : Controlled Component&Uncontrolled Component (0) | 2024.02.02 |
⚛️React Training : useState의 간단한 원리 (1) | 2024.01.26 |
⚛️React Training : 시작하기 앞서 (0) | 2024.01.23 |