component가 render 되길 원하는 모습과 DOM이 일치하도록
react는 mounting, unmounting, updating 3가지를 사용한다
React node가 어떻게 DOM node로써 표현되는지, 언제 DOM tree에 추가되는지, DOM tree의 어디에 나타나는지
이 모든 것은 top-level API 즉 request('react')에서 관리한다
React CreateElement
let foo = React.createElement(FooComponent)
foo = {
type: FooComponent,
props: {},
}
위처럼 foo에 React element를 할당하면
foo는 DOM element는 아니다 DOM tree에 존재하지 않는다
즉, 아직 mount 되지 않았다 단지 React에게 foo라는 element가 render되기 위해서
무엇이 필요한지 말해줄 뿐이다
ReactDOM.render(foo, domContainer)
render()가 호출되는 결과로
root component 즉 domContainer에 foo를 mount 한다
부모 component가 setState()를 호출하거나
render method를 호출하여 특정 자식 component를 render할 때
React는 자동으로 자식 component를 부모 component에 mount 한다
FooComponent의 instance 생성 및 render method 실행
FooComponent class 의 instance를 만들고 render method를 실행한다
domContainer에게 mount된다