Rumah  >  Artikel  >  hujung hadapan web  >  Tajuknya boleh jadi: Beyond dangerouslySetInnerHTML: Adakah terdapat Cara Lebih Selamat untuk Memaparkan HTML Mentah dalam React?

Tajuknya boleh jadi: Beyond dangerouslySetInnerHTML: Adakah terdapat Cara Lebih Selamat untuk Memaparkan HTML Mentah dalam React?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 03:44:301025semak imbas

The title could be:

Beyond dangerouslySetInnerHTML: Are there Safer Ways to Render Raw HTML in React?

Memaparkan HTML Mentah dalam React with Enhanced Safety

Soalan:

Sedang menggunakan dangerouslySetInnerHTML satu-satunya kaedah untuk memaparkan HTML mentah dalam React?

Jawapan:

Sejak kaedah awal yang diterangkan dalam soalan, terdapat kemajuan dalam React untuk memastikan pemaparan HTML yang lebih selamat. Berikut ialah empat pilihan yang tersedia hari ini:

1. Unicode

Ekodkan aksara HTML menggunakan Unicode. Simpan fail sebagai UTF-8 dan tetapkan charset kepada UTF-8. Contoh:

<div>{'\u00b7'}</div>

2. Nombor Unikod

Benamkan nombor Unikod ke dalam rentetan JavaScript.

<div>{String.fromCharCode(183)}</div>

3. Tatasusunan Campuran

Gabungkan rentetan dan elemen JSX ke dalam tatasusunan:

<div>{['First ', <span>&amp;middot;</span>, ' Second']}</div>

4. DangerouslySetInnerHTML (Last Resort)

Gunakan dangerouslySetInnerHTML sebagai pilihan terakhir:

<div dangerouslySetInnerHTML={{__html: 'First &amp;middot; Second'}} />

Cadangan:

Tiga kaedah pertama lebih diutamakan untuk keselamatan dan kebolehselenggaraan. Gunakan dangerouslySetInnerHTML hanya apabila benar-benar perlu.

Atas ialah kandungan terperinci Tajuknya boleh jadi: Beyond dangerouslySetInnerHTML: Adakah terdapat Cara Lebih Selamat untuk Memaparkan HTML Mentah dalam React?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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