vue Render:h=>h(App) 解析

2 篇文章 0 订阅

在学习VUE时,发现很多的组件的引入都是用ES6,需要在main.js中写入如下代码:

export default () => {
  const router = createRouter()
  const store = createStore()

  const app = new Vue({
    router,
    store,
    render: h => h(App)
  })

  return { app, router, store }
}

其中对 render:h=>h(App) 这句代码不是很理解,所以对此查找了有关资料,以下为结果。

这种写法

{
    render:h=>h(App)
}
等价于
{
    render:h=>{
        return h(App);
    }
}

等价于
{
    render:function(h){
        return h(App);
    }
}

最后,也就是

{
    render:function(creatElement){
        return creatElemnt(App);
    }
}
render:h=>h(App)

1、ES6的写法,表示Vue实例选项对象的render方法作为一个函数,接受传入的参数h函数,返回h(App)的函数调用结果
2、Vue在创建Vue实例时,通过调用render方法来渲染实例的DOM树
3、Vue在调用render方法时,会传入一个createElement函数作为参数,也就是这里的h的实参是createElement函数,然后createElement会以App为参数进行调用,关于createElement函数说明参见:https://cn.vuejs.org/v2/guide/render-function.html#createElement-参数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值