Jadual Kandungan
✅ Mengapa menggunakan JSX di Vue?
Untuk projek Vite
Untuk projek Vue CLI
2. Tulis JSX dalam komponen
3. Menggunakan JSX dalam fail .vue (pilihan)
4. JSX dengan TypeScript (.tsx)
⚠️ Perkara yang perlu diingat
Ringkasan
Rumah hujung hadapan web View.js Bagaimana cara menggunakan JSX di Vue?

Bagaimana cara menggunakan JSX di Vue?

Jul 31, 2025 am 09:49 AM

Ya, Vue menyokong JSX, tetapi memerlukan konfigurasi tambahan. 1. Untuk projek Vite, pasang @vitejs/plugin-vue-jsx dan tambah plugin vuejsx () dalam vite.config.js; 2. Untuk projek Vue CLI, pasang @vue/babel-preset-jsx dan tambahkan pratetap di babel.config.js; 3. Gunakan fungsi definecomponent dan persediaan untuk mengembalikan kandungan JSX, perhatikan menggunakan konvensyen VUE seperti kelas dan onclick; 4. Dalam fail .vue, anda boleh memanggil fungsi rendering JSX melalui fungsi H atau komponen mengikat; 5. Apabila menggunakan TypeScript, fail dinamakan .TSX, dan konfigurasi JSX tsconfig.json untuk memelihara dan jsximportsource adalah vue; Harus diingat bahawa sintaks templat seperti V-If dan V-untuk tidak sesuai untuk JSX, dan ekspresi JavaScript harus digunakan. JSX bukan arus perdana di Vue dan sesuai untuk senario logik rendering kompleks. Sokongan lengkap perlu dikonfigurasikan dalam kombinasi dengan alat pembinaan.

Bagaimana cara menggunakan JSX di Vue?

VUE tidak menyokong JSX keluar dari kotak, tetapi anda boleh menggunakan JSX di VUE - terutamanya jika anda bekerja dengan VUE 3 dan menggunakan persediaan VITE atau VUE CLI . Berikut adalah cara untuk membolehkan dan menggunakan JSX dalam projek VUE anda.

Bagaimana cara menggunakan JSX di Vue?

✅ Mengapa menggunakan JSX di Vue?

Walaupun VUE secara tradisinya menggunakan templat, JSX memberi anda lebih banyak kawalan pengaturcaraan ke atas rendering - berguna untuk logik komponen kompleks, kanak -kanak dinamik, atau jika anda datang dari latar belakang yang bertindak balas.


1. Dayakan sokongan JSX

Untuk projek Vite

Pasang plugin JSX untuk Vue:

Bagaimana cara menggunakan JSX di Vue?
 NPM Pasang @vitejs/plugin-vue-jsx -d

Kemudian, kemas kini vite.config.js anda:

 import {defineconfig} dari 'Vite'
Import Vue dari '@vitejs/plugin-vue'
Import Vuejsx dari '@vitejs/plugin-vue-jsx'

Eksport DefinectonFig lalai ({
  Plugin: [
    vue (),
    vuejsx ()
  ]
})

Sekarang anda boleh menggunakan fail .jsx atau .tsx , atau tulis jsx di dalam fail .vue dalam fungsi setup .

Bagaimana cara menggunakan JSX di Vue?

Untuk projek Vue CLI

Jika anda menggunakan Vue CLI, pasang plugin Babel:

 NPM Pasang @Vue/Babel-Preset-JSX -D

Kemudian di babel.config.js anda:

 modul.exports = {
  Pratetap: ['@vue/babel-preset-jsx']
}

2. Tulis JSX dalam komponen

Anda kini boleh menulis komponen menggunakan JSX. Berikut adalah contoh fail .jsx :

 // mybutton.jsx
import {definecomponent} dari 'vue'

Eksport definisi lalai ({{
  Props: {
    Label: String,
    OnClick: Fungsi
  },
  persediaan (props) {
    kembali () => (
      <butang onclick = {props.onclick} class = "my-button">
        {props.label}
      </butang>
    )
  }
})

Nota: Gunakan class bukannya className , dan onClick bukannya onclick - ia mengikuti konvensyen DOM Vue.


3. Menggunakan JSX dalam fail .vue (pilihan)

Anda boleh mencampur JSX dalam bahagian <script setup> :

 <persediaan skrip>
import {h} dari &#39;vue&#39;

const renderDynamic = () => {
  kembali h (&#39;div&#39;, {class: &#39;dinamik&#39;}, [
    h (&#39;span&#39;, &#39;hello jsx di dalam vue!&#39;)
  ])
}
</script>

<pemat>
  <dana>
    <!-anda tidak boleh menggunakan jsx dalam <pemplate>->
    <!-tetapi anda boleh memanggil fungsi render->
    <komponen: is = "renderdynamic" />
  </div>
</template>

Sebagai alternatif, gunakan JSX hanya dalam setup() kembali jika anda tidak menggunakan <template> .


4. JSX dengan TypeScript (.tsx)

Jika anda menggunakan TypeScript, namakan fail anda .tsx dan tentukan alat peraga dengan antara muka:

 import {definecomponent} dari &#39;vue&#39;

prop antara muka {
  Nama: String
  Count?: Nombor
}

Eksport definisi lalai ({{
  Props: {
    Nama: {Type: String, Diperlukan: Benar},
    kiraan: {type: nombor, lalai: 0}
  },
  Persediaan (prop: props) {
    kembali () => (
      <dana>
        <h1> Hello, {props.name}! </h1>
        <p> Count: {props.count} </p>
      </div>
    )
  }
})

Pastikan tsconfig.json anda membolehkan JSX:

 {
  "CompilerOptions": {
    "JSX": "Preserve",
    "JsXimportSource": "Vue"
  }
}

⚠️ Perkara yang perlu diingat

  • Templat masih standard dalam VUE - JSX adalah pilihan dan kurang biasa.

  • Tiada ciri templat dalam JSX : Arahan seperti v-if , v-for tidak berfungsi. Gunakan ekspresi JavaScript sebaliknya:

     // bukan v-jika
    {show && <p> ditunjukkan </p>}
    
    // bukan v-untuk
    {items.map (item => <div key = {item.id}> {item.label} </div>)}
  • Pengendali acara: Gunakan onClick , onInput , dan lain -lain (Camelcase), dan lulus fungsi secara langsung.

  • Gunakan onUpdate:xxx untuk tingkah laku seperti v-model .


  • Ringkasan

    Anda boleh menggunakan JSX di Vue dengan persediaan yang betul:

    • ✅ Pasang @vitejs/plugin-vue-jsx (untuk vite) atau pratetap babel (untuk Vue CLI)
    • ✅ Gunakan defineComponent dan setup untuk mengembalikan fungsi render
    • ✅ Tulis JSX dengan acara Vue dan konvensyen mengikat
    • ✅ Bekerja dengan TypeScript melalui .tsx

    Ia tidak biasa seperti dalam React, tetapi ia berkuasa untuk logik yang dinamik atau boleh diguna semula.

    Pada asasnya, VUE menyokong JSX - tidak hanya dalam templat. Gunakannya di mana ia menambah nilai.

    Atas ialah kandungan terperinci Bagaimana cara menggunakan JSX di Vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana untuk menetapkan tajuk halaman secara dinamik untuk setiap laluan di vue.js? Bagaimana untuk menetapkan tajuk halaman secara dinamik untuk setiap laluan di vue.js? Sep 21, 2025 am 03:19 AM

Jawapan: Di Vue.js, tajuk halaman boleh ditetapkan secara dinamik melalui medan meta dan pengawal navigasi Vuerouter. 1. Tentukan meta.title untuk setiap laluan dan kemas kini document.title dalam router.Aftereach; 2. Jika tajuk bergantung kepada data tak segerak, ia boleh diambil dan dikemas kini dalam komponen; 3. VUE3 boleh membuat logik multiplexing fungsi gabungan USEPAgeTitle; 4. Untuk senario sensitif SEO, SSR harus disokong menggunakan @vueuse/kepala dan perpustakaan lain.

Bagaimana cara menggunakan parameter laluan di Vue Router? Bagaimana cara menggunakan parameter laluan di Vue Router? Sep 16, 2025 am 07:20 AM

Inti menggunakan parameter penghalaan dalam Vuerouter adalah untuk menangkap nilai URL melalui serpihan dinamik. 1. Apabila menentukan laluan dengan parameter, gunakan Colon di jalan untuk mewakili parameter dinamik, seperti /pengguna /: id; 2. 3. 4. Lompat boleh digunakan untuk menggunakan pautan router atau navigasi programatik dan secara jelas lulus param.

Apakah perbezaan antara Vue.Set (atau ini. $ Set) dan tugasan langsung? Apakah perbezaan antara Vue.Set (atau ini. $ Set) dan tugasan langsung? Sep 15, 2025 am 01:26 AM

Dalam VUE2, tugasan langsung tidak boleh mencetuskan kemas kini responsif, manakala Vue.Set atau ini. 2. VUE3 menggunakan proksi untuk melaksanakan pendengaran responsif yang komprehensif, menyokong penambahan dinamik atribut dan pengubahsuaian indeks array, jadi tugasan langsung boleh mencetuskan kemas kini tanpa menggunakan set $; 3. Walaupun set $ masih wujud dalam VUE3 untuk bersesuaian dengan kod lama, ia telah ditolak. Adalah disyorkan untuk menggunakan tugasan langsung atau menggantikan keseluruhan objek/array untuk memastikan respons. Skim ini sah dalam kedua -dua versi.

Bagaimana untuk mendengar peristiwa DOM asli pada komponen vue.js? Bagaimana untuk mendengar peristiwa DOM asli pada komponen vue.js? Sep 16, 2025 am 08:04 AM

Dalam VUE3, peristiwa DOM asli secara langsung terikat kepada elemen akar komponen secara lalai, tanpa pengubah natif; Jika komponen adalah elemen tunggal, anda boleh mendengar secara langsung dengan @Event, seperti @click; Untuk pelbagai nod atau kawalan eksplisit, peristiwa tersuai harus ditakrifkan dan dicetuskan melalui $ emit atau defineemits untuk mengekalkan keserasian silang versi dan antara muka peristiwa yang jelas.

Bagaimana untuk mengendalikan kitaran hayat komponen dalam API Komposisi Vue 3? Bagaimana untuk mengendalikan kitaran hayat komponen dalam API Komposisi Vue 3? Sep 17, 2025 am 07:33 AM

Dalam API Komposisi Vue3, cangkuk kitaran hidup digunakan oleh fungsi ONX. Jawapannya ialah: 1. Import onmounted, onupdated, onunmounted dan memanggilnya dalam persediaan (); 2. Persediaan () menggantikan dicipta, tanpa definisi berasingan; 3. Logik kitaran hayat boleh dikemas dalam fungsi gabungan untuk mencapai penggunaan semula; 4. Cangkuk mesti dipanggil serentak dan boleh didaftarkan beberapa kali; 5. Kegunaan umum termasuk mendapatkan data semasa sumber gunung dan pembersihan semasa pemotongan, dengan itu meningkatkan organisasi dan penyelenggaraan kod.

Bagaimana untuk mengendalikan aset seperti imej dan fon dalam projek Vue.js dengan Vite? Bagaimana untuk mengendalikan aset seperti imej dan fon dalam projek Vue.js dengan Vite? Sep 20, 2025 am 02:45 AM

PlacestaticassetsLikeimagesandfontsinthepublicdirectoryfordirectaccessorinsrc/assetsforbundledprocessing.2.Importimagesincomponentsusingscetupporautomaticurlresolution.3.definecustomfontsvia@

Bagaimana untuk menyediakan projek baru dengan Vue CLI atau Vite untuk Vue.js? Bagaimana untuk menyediakan projek baru dengan Vue CLI atau Vite untuk Vue.js? Sep 16, 2025 am 06:45 AM

Gunakan Vuecli atau Vite untuk membina projek Vue.js dengan cepat. 2. Vuecli didasarkan pada webpack dan mempunyai ciri-ciri yang kaya dan sesuai untuk projek yang memerlukan integrasi plug-in yang mendalam. 3.Vite bermula lebih cepat, menyokong kemas kini panas, dan disyorkan untuk projek baru. 4. Kebanyakan projek baru memilih Vite kerana prestasi unggul dan konfigurasi mudah.

Bagaimana untuk membuat model V tersuai pada komponen VUE? Bagaimana untuk membuat model V tersuai pada komponen VUE? Sep 21, 2025 am 01:08 AM

Untuk membuat model V tersuai di VUE3, anda perlu menentukan harta model dan emitupdate: acara model nilai; 2. Anda boleh menentukan nama prop tersuai melalui model V: tajuk; 3. VUE2 menggunakan nilai dan peristiwa input secara lalai, tetapi anda boleh mengubahnya menjadi model dan kemas kini: ModelValue untuk bersesuaian dengan VUE3; 4. Sentiasa mengisytiharkan emit dalam VUE3 untuk memastikan kejelasan dan pengesahan; 5. Elakkan secara langsung mengubah suai prop, dan kemas kini harus dicetuskan melalui peristiwa, supaya komponen menyokong pengikatan dua hala seperti input asli.

See all articles