일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 폰트적용하기
- 2022
- 타입스크립트
- reactjs
- react
- CSS
- utilty type
- returnType
- javascript
- const 단언문
- click and drag
- 티스토리꾸미기
- 레이아웃쪼개기
- Chart.js
- React.js
- JS console
- 개발콘텐츠
- 리액트
- vue.js
- React Native
- typescript
- 성능최적화
- 공통컴포넌트
- 누구나 자료구조와 알고리즘
- 커스텀
- 타입좁히기
- NonNullable
- 제네릭
- TSDoc
- 반복줄이기
- Today
- Total
몽땅뚝딱 개발자
🔖 [인프런] 만들면서 학습하는 리액트 본문
출처
Vanilla JS → react로 변경(cdn + babel로 실시간 컴파일) → webpack으로 구성하여 코드를 바꿔보는 강의이다.
Vanilla JS까지만 듣고 멈춰있다가 최근에 완강하게 되었다 ^_ ^ㅋ
현재는 리액트에서 class형 컴포넌트 사용을 지양하라고했기때문에 함수형 예제가 적다는 점이 아쉬울 순 있는데 함수형을 알고있는 입장에서는 class형은 이렇게 쓰는 거구나.. 하고 비교할 수 있어서 좋았다.
나는 아래 분과 같은 의견이고 순수JS 부분은 다시 들어볼 예정이다.
◽ 가상돔(Virtual DOM)
가상돔이 필요한 이유는 자바스크립트로 돔 구조를 변경하면 레이아웃이 변경되며 다시 계산하여 화면에 다시 그린다. 돔을 수정한만큼 이 작업이 반복되기때문에 페이지 렌더링 성능에 영향을 준다.
성능을 개선하는 아주 단순한 방법은 돔 API를 적게 사용하면 된다. 바로 변경된 부분만 캐치하여 변경하는 가상돔(Virtual DOM)을 만들어 메모리에서 관리할 수 있다.
◽ JSX란?
엘리먼트의 부모-자식 간의 구조를 파악하기 위해서는 코드를 유심히 봐야한다. 그래서 이를 쉽게 파악할 수 있도록 대안으로 나온 것이 템플릿 언어이다. 핸들바, Pug가 대표적이고 앵귤러나 Vue도 템플릿 기능을 지원하지만 리액트는 지원하지 않는다. 리액트에서는 createElement() 함수를 써서 만들어야했는데 이건 비효율적인 방법이다. 리액트는 JSX라는 자바스크립트 확장문법을 사용한다.
📄 JSX와 PURE 비교
// JSX
(<h1>hello</h1>)
// PURE
React.createElement("h1", null, "hello");
리액트 코딩을 편하게 하려면 바벨같은 트랜스파일러의 도움을 받는 것이 좋다. 클래스, JSX 문법을 사용할 수 있게끔 해주기 때문이다.
<script
type="text/babel"
data-type="module"
data-preset="react"
></script>
'STUDY > 2023' 카테고리의 다른 글
[CLASS 101] 온전한 쉼의 기술 입문편 (0) | 2023.03.01 |
---|---|
🔖 [CLASS 101] 2023년, 평생 떨어질 일 없는 자존감 상위 1% 되는 법 (0) | 2023.02.21 |
[CLASS 101] 평범한 사람도 강해지는 멘탈, 나를 업그레이드 하는 심리학 (0) | 2023.02.15 |
🔖 [CLASS 101] 삶의 요령이 쌓이는 채소반찬 요리 (0) | 2023.02.14 |
🔖 [CLASS 101] 비전공자를 위한 IT 지식 (0) | 2023.02.13 |