Bagaimana cara menggunakan JSX di Vue?
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.
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.

✅ 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:

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
.

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
bukannyaclassName
, danonClick
bukannyaonclick
- 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 'vue' const renderDynamic = () => { kembali h ('div', {class: 'dinamik'}, [ h ('span', 'hello jsx di dalam vue!') ]) } </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 'vue' 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 sepertiv-model
.- ✅ Pasang
@vitejs/plugin-vue-jsx
(untuk vite) atau pratetap babel (untuk Vue CLI) - ✅ Gunakan
defineComponent
dansetup
untuk mengembalikan fungsi render - ✅ Tulis JSX dengan acara Vue dan konvensyen mengikat
- ✅ Bekerja dengan TypeScript melalui
.tsx
Ringkasan
Anda boleh menggunakan JSX di Vue dengan persediaan yang betul:
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!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

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.

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.

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.

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.

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.

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

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.

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.
