참고 자료
[React 까보기 시리즈] React 구성요소인 reconciler, renderer 등의 내부 패키지 & fiver, rendering 등의 용어 정의
React Scheduler 코드 파해치기
React 레거시 공식 문서 - 합성 이벤트
React 레거시 공식 문서 - 재조정
https://goidle.github.io/react/in-depth-react-hooks_1/
createElement()와 같은 함수가 정의되어 있다.react-dom(웹), react-native-renderer(모바일) 등 호스트에 따라 다른 패키지 사용reconciler, legacy-events 패키지에 의존하고 있다.SyntheticEvent라는 이름으로 내부적으로 개발된 이벤트 시스템SyntheticEvent로 랩핑하여 같은 속성을 가지도록 표준화setState직후 state를 출력하면 변경된 state 값이 아니라 기존 값이 출력되는 것을 통해 비동기 처리임을 알 수 있다)렌더링의 전체 과정은 다음과 같다.
즉 컴포넌트를 호출하여 받은 react element를 가상 DOM에 적용하는 과정까지가 렌더링이다.
babel을 통해 react.createElement()로 변환되어 호출한다.type은 string 또는 ReactClass가 할당 됨props는 object가 할당 됨className, children, value 등 태그의 속성과 자식 요소들이 할당// JSX
const DeleteAccount = () => {
  <div>
    <p>Are you sure?</p>
  	<DangerButton color="red">Yes</Dangerbutton>
  </div>
}
// React Element
const DeleteAccount = () => ({
  type: "div",
  props: {
    children: [{
    type: "p",
    props: {
      children: "Are you sure?"
    },
    }, {
      type: DangerButton,
      props: {
        color: "red",
        children: "Yep"
      }
    }]
  }
})
DangerButton)가 올 수 있는데, 이 역시 다른 리액트 엘리먼트를 반환한다.function createElement(type, config, children) {
    var propName; // Reserved names are extracted
    var props = {};
    var key = null;
    var ref = null;
    var self = null;
    var source = null;
    ...
    return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);