옹재
소소한 개발 블로그
옹재
전체 방문자
오늘
어제
  • 분류 전체보기 (66)
    • 개발 관련 서적 스터디 (6)
    • 프론트엔드 스터디 (36)
      • Javascript (16)
      • Typescript (13)
    • Vue 스터디 (22)
    • 개발 관련 스터디 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 프레임워크 없는 프론트엔드 개발
  • 개발서적 스터디
  • 프론트엔드 스터디
  • scss
  • CSS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
옹재

소소한 개발 블로그

Vue 스터디

render : h => h(App)??

2021. 5. 7. 13:29
728x90
반응형

vue-cli 기반으로 Vue를 만들면 main.js에 이해하기 어려운 코드가 적혀있습니다.

import Vue from 'vue'
import App from './App.vue'

new Vue({
    render: h => h(App)
}).$mount('#app')

바로 Vue 인스턴스에 render라고 정의된 속성부분입니다. 이 문장을 표현하면 다음과 같다고 합니다.

render: function(createElement){
    return createElement(App);
}

즉 내부적으로 createElement라는 함수를 파라미터로 받고 이 함수에 App.vue를 넘겨줘서 element를 생성하는 것이라고 합니다.

여기서 h는 hyperscript의 약자로 Virtual DOM에서 관용적으로 사용되는 표현인데 HTML 구조를 생성하는 스크립트라는 의미라고 에반 유가 이야기했습니다.

// 제목 : ES6 기반 Vue.js 개발 프로젝트에서 마주치는 render: h => h(App) 해석
// 설명 : render:h => h(App)은 Vue.js의 기본적인 render function의 간소화 버전
// 변환과정 : #1 -> #2 -> #3 -> #4

// #1
render: function (createElement) {
    return createElement(App);
}

// #2
render (createElement) {
    return createElement(App);
}

// #3
render (h){
    return h(App);
}

// #4
// 참고 : h는 hyperscript의 약자로 HTML 구조를 생성하는 스크립트를 의미. Virtual DOM 구현에서 관행적으로 사용
render: h => h(App);
728x90
반응형

'Vue 스터디' 카테고리의 다른 글

Vue.js의 Virtual DOM이란?  (0) 2021.05.10
Vue.js의 Render 함수  (0) 2021.05.07
Vue 스터디 4일차 (템플릿 문법)  (0) 2021.05.04
Vue 스터디 3일차 (컴포넌트 통신)  (0) 2021.04.30
Vue 스터디 2일차 (뷰 컴포넌트)  (0) 2021.04.29
    'Vue 스터디' 카테고리의 다른 글
    • Vue.js의 Virtual DOM이란?
    • Vue.js의 Render 함수
    • Vue 스터디 4일차 (템플릿 문법)
    • Vue 스터디 3일차 (컴포넌트 통신)
    옹재
    옹재

    티스토리툴바