Jadual Kandungan
fungsi h
JSX
Rumah hujung hadapan web View.js Artikel yang menerangkan secara terperinci cara menggunakan JSX dalam vue3

Artikel yang menerangkan secara terperinci cara menggunakan JSX dalam vue3

Nov 25, 2022 pm 09:01 PM
vue vue3 jsx

Bagaimana untuk menggunakan JSX dalam

vue? Artikel berikut akan memperkenalkan kepada anda cara menggunakan JSX dalam vue3. Saya harap ia akan membantu anda!

Artikel yang menerangkan secara terperinci cara menggunakan JSX dalam vue3

Dalam kebanyakan kes, Vue mengesyorkan menggunakan templat <template> sintaks untuk mencipta aplikasi.

Dalam pembangunan projek Vue 3, templat ialah kaedah penulisan lalai Vue 3. Walaupun templat kelihatan seperti HTML, Vue sebenarnya menghuraikan templat ke dalam fungsi pemaparan Kemudian, apabila komponen sedang berjalan, fungsi pemaparan mengembalikan DOM maya. [Belajar perkongsian video: tutorial video vue, video bahagian hadapan web]

Walau bagaimanapun, dalam beberapa senario penggunaan, kami benar-benar perlu menggunakan keupayaan pengaturcaraan lengkap JavaScript. Di sinilah fungsi pemaparan berguna.

fungsi h

Vue menyediakan fungsi h() untuk mencipta dom maya vnodes. Contoh berikut: Bagaimana untuk menggunakan

import { h } from &#39;vue&#39;

const vnode = h(
  &#39;div&#39;, // type
  { id: &#39;foo&#39;, class: &#39;bar&#39; }, // props
  [
    /* children */
  ]
)
Salin selepas log masuk

dalam komponen?

Sebelum ini apabila API gubahan digunakan dengan templat, nilai pulangan cangkuk setup() telah digunakan untuk mendedahkan data kepada templat. Tetapi apabila menggunakan h(), cangkuk setup() mengembalikan fungsi pemaparan :

import { ref, h } from &#39;vue&#39;

export default {
  props: {
    /* ... */
  },
  setup(props) {
    const count = ref(1)

    // 返回渲染函数
    return () => h(&#39;div&#39;, props.msg + count.value)
  }
}
Salin selepas log masuk

fungsi h tulisan tangan, yang boleh mengendalikan adegan yang lebih dinamik. Tetapi jika ia adalah adegan yang kompleks, fungsi h sangat menyusahkan untuk ditulis, dan anda perlu menukar semua atribut kepada objek sendiri. Dan apabila komponen bersarang, objek akan menjadi sangat kompleks. Walau bagaimanapun, kerana fungsi h juga mengembalikan DOM maya, adakah terdapat cara yang lebih mudah untuk menulis fungsi h? Jawapannya ya, caranya ialah JSX.

JSX

JSX ialah sambungan JavaScript seperti XML Dengannya, kami boleh mencipta vnod dengan cara yang mudah:

const vnode = <div id="app">hello</div>
Salin selepas log masuk

Sintaks untuk menulis HTML dalam JavaScript ini dipanggil JSX, yang merupakan lanjutan sintaks JavaScript. Apabila kod di atas dijalankan terus dalam persekitaran JavaScript, ralat akan dilaporkan. Intipati JSX ialah gula sintaksis untuk kod berikut.

const vnode = createVnode(&#39;div&#39;,{id:"app"}, &#39;hello&#39;)
Salin selepas log masuk

Malah, createVnode juga dipanggil di dalam fungsi h untuk mengembalikan DOM maya.

Jadi, bagaimana untuk menggunakan JSX dalam projek Vue?

Secara lalai, projek vue3 vite tidak menyokong jsx Jika anda mahu menyokong jsx, anda perlu memasang pemalam @vitejs/plugin-vue-jsx

Pasang

npm i @vitejs/plugin-vue-jsx -D
Salin selepas log masuk
<🎜. > dalam vite.config Konfigurasikan dalam .js:

import vueJsx from "@vitejs/plugin-vue-jsx"; // 配置vue使用jsx

export default defineConfig({
  plugins: [
    vue(), 
    vueJsx()
  ],
});
Salin selepas log masuk
Kemudian anda boleh menggunakannya dalam komponen Vue:

// render.vue
<script>
import { ref } from "vue";
export default {
  setup() {
    const count = ref(100);
    return () => <div>count is: {count.value}</div>;
  },
};
</script>
Salin selepas log masuk
Nota: lang dalam skrip mesti ditukar kepada jsx.

Atau fail jsx:

// render.jsx
import { defineComponent } from &#39;vue&#39;

export default defineComponent({
  setup() {
    return () => <div>jsx文件</div>
  }
})
Salin selepas log masuk

Templat vs JSX

Bagaimanakah kita harus memilih JSX dan templat?

Kelebihan templat: Sintaks templat adalah tetap, hanya v-if, v-for dan sebagainya. Kami menulis mengikut sintaks format tetap ini, supaya Vue3 boleh mengoptimumkan teg statik dengan mudah pada tahap kompilasi dan mengurangkan proses Diff. Contohnya, promosi statik, teg jenis, pengimbangan struktur pokok, dll. boleh meningkatkan prestasi masa jalan DOM maya. Ini juga merupakan sebab penting mengapa DOM maya Vue 3 lebih pantas daripada Vue 2.

Rujukan:

Mekanisme pemaparan Vue

Kelebihan JSX: templat tidak boleh menyokong keperluan yang lebih dinamik seperti JSX disebabkan oleh pengehadan sintaks. Ini juga merupakan kelebihan JSX berbanding templat.

JSX mempunyai kelebihan lain berbanding templat kerana ia boleh mengembalikan berbilang komponen dalam satu fail.

Jadi bagaimana untuk memilih?

Apabila merealisasikan keperluan perniagaan, beri keutamaan untuk menggunakan templat dan gunakan sepenuhnya pengoptimuman prestasi Vue sendiri. Komponen dengan keperluan dinamik yang lebih tinggi boleh dilaksanakan menggunakan JSX. (Sebagai contoh, kemudian, saya akan menggunakan JSX untuk melaksanakan penjana borang dinamik)

Ringkasan

Pertama sekali, kami biasanya menggunakan templat templat untuk mencipta aplikasi dalam projek , templat templat Akan disusun ke dalam fungsi pemaparan pemaparan semasa fasa binaan. Fungsi rendering ialah fungsi yang digunakan untuk mengembalikan DOM maya.

Kemudian kita sebenarnya boleh melangkau langkah ini dan terus menggunakan fungsi h untuk menjana DOM maya.

Pelaksanaan dalaman fungsi h sebenarnya ialah fungsi createVNode untuk menjana DOM maya Namun, memandangkan fungsi h sukar untuk ditulis, kami menggunakan JSX untuk menulisnya dengan lebih mudah dan cepat. Fungsi createVNode sebenarnya digunakan secara dalaman dalam JSX.

JSX tidak boleh dilaksanakan secara langsung dalam JavaScript Dalam projek vite, kami perlu memasang pemalam

@vitejs/plugin-vue-jsx

dan mengkonfigurasinya dengan sewajarnya.

Akhir sekali, kelebihan dan kekurangan template dan JSX dibandingkan. Kelebihan templat ialah sintaksnya tetap dan mudah ditulis Pada peringkat kompilasi, Vue3 telah membuat banyak pengoptimuman untuk penyusunan templat. Kelebihan JSX ialah fleksibiliti Dalam sesetengah kes apabila keperluan dinamik tinggi, JSX telah menjadi konfigurasi standard.

Seperti kata pepatah, terdapat pengkhususan dalam industri.

(Tamat)

(Perkongsian video pembelajaran: Pembangunan bahagian hadapan web, Video pengaturcaraan asas)

Atas ialah kandungan terperinci Artikel yang menerangkan secara terperinci cara menggunakan JSX dalam vue3. 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

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apr 07, 2025 pm 11:57 PM

Pembangunan pelbagai halaman Vue adalah cara untuk membina aplikasi menggunakan rangka kerja VUE.JS, di mana permohonan dibahagikan kepada halaman berasingan: Penyelenggaraan kod: Memisahkan aplikasi ke dalam beberapa halaman boleh menjadikan kod lebih mudah untuk dikendalikan dan diselenggarakan. Modularity: Setiap halaman boleh digunakan sebagai modul yang berasingan untuk penggunaan semula dan penggantian mudah. Routing mudah: Navigasi antara halaman boleh diuruskan melalui konfigurasi penghalaan mudah. Pengoptimuman SEO: Setiap halaman mempunyai URL sendiri, yang membantu SEO.

Cara Menanyakan Versi Vue Cara Menanyakan Versi Vue Apr 07, 2025 pm 11:24 PM

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

Cara melompat ke Div Vue Cara melompat ke Div Vue Apr 08, 2025 am 09:18 AM

Terdapat dua cara untuk melompat elemen div di Vue: Gunakan Vue Router dan tambahkan komponen router-link. Tambah pendengar acara @Click dan panggil ini. $ Router.push () kaedah untuk melompat.

See all articles