Web API HTMLElement 과는 렌더링 전후의 관계
클래스형 컴포넌트는 render메소드에서ReactNode를 리턴
함수형컴포넌트는 ReactElement를 리턴
jsx는 바벨에 의해 React.createElement: JSX.Element함수로 트랜스파일
historic reason이 여기저기 있다

JSX.Element vs ReactNode vs ReactElement의 차이
타입스크립트로 리액트 코드를 작성하다보면 컴포넌트의 타입을 정해줘야하는데 너무 여러가지 타입이 있어서 헷갈려서 정리하고자 합니다. 클래스형 컴포넌트는 render메소드에서 ReactNode를 리턴한다. 함수형 컴포넌트는 ReactElement를 리턴한다. JSX는 바벨에 의해서 React.createElement(component, props, ...children) 함수로 트랜스파일된다. html 처럼 생긴 문법을 리액트 라이브러리의 렌더링 함수로 변환하는것이다. 그래서 JSX를 사용하지 않고도 리액트를 사용할 수 있으나( JSX없이 사용하는 React) 이렇게 하면 매우 불편하다.
https://simsimjae.tistory.com/426
How can I get the original HTMLElement in ReactElements · Issue #3898 · facebook/react
You can't perform that action at this time. You signed in with another tab or window. You signed out in another tab or window. Reload to refresh your session. Reload to refresh your session.
https://github.com/facebook/react/issues/3898
