function NewExpense() {
return (
<div className="new-expense">
<ExpenseForm />
</div>
);
}
HTML에 비해 가독성이 높고 작성하기 쉽다는 장점이 있다
React.createElement를 이용한다.
그러나 가독성이 별로인 것 같다..
// 💩 bad code
const root = document.querySelector('#root');
const h3 = React.createElement(
"h3",
{
id: "title",
onMouseEnter: () => console.log("mouse")
},
"Hello world"
);
브라우저는 JSX을 모르기때문에 Babel에게 코드를 넘겨주면 브라우저가 읽을 수 있는 코드로 바꿔준다.
const Title = /*#__PURE__*/React.createElement("h3", {
id: "title",
onMouseEnter: () => console.log("mouse")
}, "Hello world");
(Babel은 JSX를 React.createElement()
호출로 컴파일한다)