0

0

0

修罗

站点介绍

只有了解事实才能获得真正的自由

Vue3 - h函数、jsx语法

修罗 2021-11-16 1560 0条评论 vue3

首页 / 正文

Vue3 - h函数、jsx语法

一、h函数

1、认识h函数

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

  • Vue在生成真实的DOM之前,会将我们的节点转换成VNode,而VNode组合在一起形成一颗树结构,就是虚拟DOM(VDOM);
  • 事实上,我们之前编写的 template 中的HTML 最终也是使用渲染函数生成对应的VNode;

那么我们应该怎么来做呢?使用 h()函数:

  • h() 函数是一个用于创建 vnode 的一个函数;
  • 其实更准确的命名是 createVNode() 函数,但是为了简便在Vue将之简化为 h() 函数;

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

h()函数 如何使用呢?它接受三个参数:

1637042473804.png

注意事项:

  • 如果没有props,那么通常可以将children作为第二个参数传入;
  • 如果会产生歧义,可以将null作为第二个参数传入,将children作为第三个参数传入;

3、h函数的基本使用

函数可以在两个地方使用:

  • render函数选项中;
  • setup函数选项中(setup本身需要是一个函数类型,函数再返回h函数创建的VNode);

1637042741884.png

4、h函数计数器案例

1637042806490.png

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

helloword组件

1637043089278.png

使用组件

1637043140285.png

三、jsx

1、jsx的babel配置

如果我们希望在项目中使用jsx,那么我们需要添加对jsx的支持:

  • jsx我们通常会通过Babel来进行转换(React编写的jsx就是通过babel转换的);
  • 对于Vue来说,我们只需要在Babel中配置对应的插件即可;

安装Babel支持Vue的jsx插件:

npm install @vue/babel-plugin-jsx -D

1637043552461.png

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ]
}

2、jsx计数器案例

1637043610890.png

3、jsx组件的使用

1637043670261.png

评论(0)


最新评论

  • 1

    1

  • 1

    1

  • -1' OR 2+158-158-1=0+0+0+1 or 'TKCTZnRa'='

    1

  • 1

    1

  • 1

    1

  • 1

    1

  • 1

    1

  • @@5Qa2D

    1

  • 1

    1

  • 1

    1

日历

2025年09月

 123456
78910111213
14151617181920
21222324252627
282930    

文章目录

推荐关键字: Linux webpack js 算法 MongoDB laravel JAVA jquery javase redis