vue中render函数和h函数以及jsx的使用方式

 更新时间:2022年08月16日 09:44:29   作者:丑小鸭变黑天鹅  
这篇文章主要介绍了vue中render函数和h函数以及jsx的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

一、认识h函数

Vue推荐在绝大数情况下使用模板来创建你的HTML,然后一些特殊的场景,你真的需要JavaScript的完全编程的能力,这个时候你可以使用 渲染函数 ,它比模板更接近编译器

  • Vue在生成真实的DOM之前,会将我们的节点转换成VNode,而VNode组合在一起形成一颗树结构,就是虚 拟DOM(VDOM)
  • 事实上,我们之前编写的 template 中的HTML 最终也是使用渲染函数生成对应的VNode
  • 那么,如果你想充分的利用JavaScript的编程能力,我们可以自己来编写 createVNode 函数,生成对应的VNode
  • 那么我们应该怎么来做呢?使用 h()函数
  • h() 函数是一个用于创建 vnode的一个函数
  • 其实更准确的命名是 createVNode() 函数,但是为了简便在Vue中将之简化为 h() 函数

二、h()函数 如何使用呢?

它接受三个参数: 

注意事项:

如果没有props,那么通常可以将children作为第二个参数传入

如果会产生歧义,可以将null作为第二个参数传入,将children作为第三个参数传入

三、h函数的基本使用

  • h函数可以在两个地方使用
  • render函数选项中
  • setup函数选项中(setup本身需要是一个函数类型,函数再返回h函数创建的VNode)

四、h函数计数器案例

五、setup函数计数器案例

六、函数组件和插槽的使用

七、jsx组件的使用

具体的语法可以看我的react文章,这里给一个在vue中使用jsx的简单案例

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • vue 实现小程序或商品秒杀倒计时

    vue 实现小程序或商品秒杀倒计时

    这篇文章主要介绍了vue 实现倒计时秒杀的组件,紧接着通过实例代码给大家介绍小程序或者vue商品秒杀倒计时功能,需要的朋友可以参考下
    2019-04-04
  • Vue组件库ElementUI实现表格列表分页效果

    Vue组件库ElementUI实现表格列表分页效果

    这篇文章主要为大家详细介绍了Vue组件库ElementUI实现表格列表分页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • vue 内置组件 component 的用法示例详解

    vue 内置组件 component 的用法示例详解

    这篇文章主要介绍了vue内置组件component的用法,本文给大家介绍了component内置组件切换方法,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • 让你一看就明白的$nextTick讲解

    让你一看就明白的$nextTick讲解

    在我们用vue时,我们经常用到一个方法是this.$nextTick,相信你也用过,我常用的场景是在进行获取数据后,需要对新视图进行下一步操作或者其他操作时,发现获取不到dom,这篇文章主要给大家介绍了关于$nextTick的相关资料,需要的朋友可以参考下
    2021-07-07
  • 对Vue.js之事件的绑定(v-on: 或者 @ )详解

    对Vue.js之事件的绑定(v-on: 或者 @ )详解

    今天小编就为大家分享一篇对Vue.js之事件的绑定(v-on: 或者 @ )详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vue新建项目并配置标准路由过程解析

    vue新建项目并配置标准路由过程解析

    这篇文章主要介绍了vue新建项目并配置标准路由过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Vue过滤器(filter)实现及应用场景详解

    Vue过滤器(filter)实现及应用场景详解

    在Vue中使用过滤器(Filters)来渲染数据是一种很有趣的方式,下面这篇文章主要给大家介绍了关于Vue过滤器(filter)实现及应用场景的相关资料,需要的朋友可以参考下
    2021-06-06
  • 解决vue.js出现Vue.js not detected错误的问题

    解决vue.js出现Vue.js not detected错误的问题

    这篇文章主要介绍了解决vue.js出现Vue.js not detected错误的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • 如何处理vue router 路由传参刷新页面参数丢失

    如何处理vue router 路由传参刷新页面参数丢失

    这篇文章主要介绍了如何处理vue router 路由传参刷新页面参数丢失,对vue感兴趣的同学,可以参考下
    2021-05-05
  • vue 实现Web端的定位功能 获取经纬度

    vue 实现Web端的定位功能 获取经纬度

    这篇文章主要介绍了vue 实现Web端的定位功能获取经纬度,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08

最新评论