vue2——new Vue({router,store, render: h => h(App) }).$mount(‘#app‘);分析

router

render: h => h(App) 是下面内容的缩写:

javascript 复制代码
render: function (createElement) {
    return createElement(App);
}

进一步缩写为(ES6 语法):

javascript 复制代码
render (createElement) {
    return createElement(App);
}

再进一步缩写为:

javascript 复制代码
render (h){
    return h(App);
}

按照 ES6 箭头函数的写法,就得到了:

javascript 复制代码
render: h => h(App);

It comes from the term "hyperscript", which is commonly used in many virtual-dom implementations. "Hyperscript" itself stands for "script that generates HTML structures" because HTML is the acronym for "hyper-text markup language".

它来自单词 hyperscript,这个单词通常用在 virtual-dom 的实现中。Hyperscript 本身是指

生成HTML 结构的 script 脚本,因为 HTML 是 hyper-text markup language 的缩写(超文本标记语言)

个人理解:createElement 函数是用来生成 HTML DOM 元素的,也就是上文中的 generate HTML structures,也就是 Hyperscript,这样作者才把 createElement 简写成 h。h是 Vue.js 里面的 createElement 函数,这个函数的作用就是生成一个 VNode节点,render 函数得到这个 VNode 节点之后,返回给 Vue.js 的 mount 函数,渲染成真实 DOM 节点,并挂载到根节点上。

相关推荐
vvilkim几秒前
React 组件类型详解:类组件 vs. 函数组件
前端·javascript·react.js
猫了个咪丶1 分钟前
一文教你搞懂如何消除异步函数的传染性
前端
JiangJiang2 分钟前
🧠 useMemo + memo + useContext 性能优化实战:从无感重渲染到丝滑体验
前端·react.js·面试
糖墨夕4 分钟前
【3】Threejs环境光、点光源、聚光灯等常见光源类型对比
前端·three.js·canvas
汪子熙4 分钟前
使用 Trae 快速开发能生成二维码的 SAP UI5 应用
前端·trae
猪猪小铁拳7 分钟前
dva调试
前端
路上^_^19 分钟前
CSS核心笔记001
前端·css·笔记
啊吧啊吧曾小白31 分钟前
作用域、闭包与this指向问题
前端·javascript·面试
Linhieng33 分钟前
浏览器扩展与网页交流
前端
小宁爱Python33 分钟前
CSS的复合选择器
前端·css