const element = React.createElement("div");
// 위 element는 밑의 객체를 반환합니다.
{
type : 'div',
props : {}
}
이렇게 React.createElement가 DOM요소 그 자체가 아닌 객체를 반환하는 이유는, 리액트가 가상 DOM을 실행하기 때문이죠. 여기서 가상 DOM이란, UI가 메모리에 저장된 채로 DOM과 동기화 되는 형태라고 생각하시면 됩니다. 객체를 반환하는 것으로 인해, 가상 DOM을 실현시키기고, 이것으로 인해 퍼포먼스의 최적화를 기대할 수 있습니다.
React.createElement("div",{className : "Velog", style : "color" : "blue"}, "Velog is great")
1번째 인자로는 만들고 싶은 태그 요소를 입력하고, 2번 째인자에는 className으로 클래스를, style로 스타일을 지정할 수 있습니다. 3번째 인자에는 텍스트를 입력할 수 있습니다. 만약 스타일을 지정하고 싶지 않다면 그냥 {} 빈 객체로 두거나, null 을 넣어서 생략할 수 있습니다.
<div>Velog is great</div>
이러한 JSX로 바뀔겁니다만, JSX는 HTML과 똑같지 않기 때문에 먼저 React.createElement를 배워서 JSX의 원래 모습을 알 필요가 있습니다.