반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- cloud firestore id auto increment
- d3 지도
- vue 컴포저블 함수
- 화살표 함수 중괄호
- git
- $fetch
- reflow
- firebase id 자동
- d3 지도 툴팁
- vue3 drag and drop
- ToDo
- vue draggable 차트 안나옴
- commonjs와 ecmascript modules(esm)
- in-memory pm2 is out-of-date
- component is already mounted please use $fetch instead.
- nuxt universal rendering
- 함수형 프로그래밍
- 화살표 함수 {}
- vuedraggable
- 참조형 props의 default
- 참조형 default
- Learning React
- pm2 업데이트 에러
- d3 지도 확대/축소
- ecmascript modules(esm)
- d3 지도 타입스크립트
- 인터넷 거버넌스
- repaint
- vue composable 함수
- pm2 버전 충돌
Archives
- Today
- Total
빵 입니다.
JSX를 자바스크립트로 작성해보기 본문
반응형
import Expenses from "./components/Expenses";
const expenses = [
{},
{}
];
const Expense = (props) => {
return (
<div>
<h2>안녕하세요.</h2>
<Expenses items={expenses} />
</div>
);
}
위 코드를 순수 자바스크립트로 작성한다면
import React from 'react';
const Expense = (props) => {
return React.createElement(
‘div’,
{},
React.createElement(‘h2’, {}, ‘안녕하세요.’),
React.createElement(Expenses, { items: expenses })
);
옛날엔 .createElement 메서드를 사용하려면 모든 페이지에서 react를 임포트 해줘야 했지만 지금은 아니다.
프로젝트 셋업할 때, 알아서 JSX로 변환해준다.
실제 변환하면 return React.createElement(); 이렇게 한개만 변환할 수 있다. 하나 이상을 반환할 수 없다.
return
React.createElement()
React.createElement()
나란히 있는 각각 다른 두 개의 요소를 한번에 반환 못해서 래퍼가 필요해서 무조건 return 안에 하나의 <>로 감싸줘야 한다.
- 배열을 반환할 순 있음
변환이 어떻게 이루어 지는지, 리액트가 어떻게 작동하는지 알아야 한다.
반응형
'프론트엔드 > React' 카테고리의 다른 글
양방향 바인딩 (0) | 2023.12.05 |
---|---|
useState() (0) | 2023.12.05 |
이벤트 핸들링 (0) | 2023.12.04 |
컴포넌트 작성 방식 (함수형? 화살표 함수?) (0) | 2023.11.29 |
React에서 페이지 전환 시 <a> 태그 사용하지 않는 이유 + 페이지 전환 방법 (0) | 2023.11.27 |