Vue3中简单书写JSX组件

本文介绍了如何在Vue3项目中启用并使用JSX,包括安装@vitejs/plugin-vue-jsx插件,在vite.config.js中引入,以及在组件中通过defineComponent或setup函数编写JSX代码。
摘要由CSDN通过智能技术生成

目录

前言

使用步骤

        1.下载JSX的插件

        2.在vite.config.js中引入插件

        3.可以使用JSX了

补充


前言

突发奇想学习下vue3中的JSX,但是呢上网搜了一下内容,都对新手不怎么友好。所以自己写了一个简略的JSX的用法介绍吧。

官方网站里也提供了用法介绍

官网链接:vite-plugin-vue/packages/plugin-vue-jsx at main · vitejs/vite-plugin-vue · GitHub 

使用步骤

1.下载JSX的插件

 vue3中的JSX是使用插件@vitejs/plugin-vue-jsx  来支持JSX写法的。

下载插件,插件安装到开发环境中:

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

2.在vite.config.js中引入插件

在项目的目录下,找到vite,.config.js文件,在文件中引入JSX的插件 

 代码如下(示例):

//1.import引入
import vueJsx from "@vitejs/plugin-vue-jsx"


export default defineConfig({
  plugins: [
    vue(),
    vueJsx()     //2.在plugins中执行一下JSX的插件
  ],       
})


3.可以使用JSX了

(1)新建一个.jsx后缀的文件,里面使用JSX来写组件

注意:JSX需要借助于的defineComponent函数来写。

官网中提供了好几种写法,有兴趣的可以去上面的官网链接进去看看。

我自己创建的.jsx格式的文件名是: A.jsx

我是在A.jsx中这样写:  

import { defineComponent } from 'vue'

export default defineComponent({
    render() {
        return <div>
            我是一个jsx中的div
            <p>我是一个p结点</p>
        </div>

    }
})

在defineComponent函数中,我用了选项式的render函数来写,也可以在setup函数中直接返回箭头函数:

import { defineComponent } from 'vue';

export default defineComponent({
    setup() {
            //返回的结点中有一个根结点,多个根节点时用数组包裹
        return () => <div>
                        我是一个jsx中的div
                        <p>我是一个p结点</p>
                    </div>
    }
})

注意:return返回的是根结点,上面只有一个根节点,多个根节点时使用数组包裹。

(2)在App.vue中的script标签中引入组件:

<script setup>
import Ajsx from "./components/A.jsx";

</script>

在App.vue的template中直接使用刚刚引入的组件Ajsx 

</template>
    <Ajsx> </Ajsx>

<template>

 浏览器页面:

简单的JSX组件的创建和使用完成! 

补充:

关于vue3中的更多的JSX的语法格式,可以去vue3的官网,官网提供了vue3中语法的各种模板,v-if、v-for等。vue.js官网的进阶主题下的渲染函数&JSX里面,万一下面的链接打不开,手动去官网找。

链接放这里:渲染函数 & JSX | Vue.js 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值