Saya mengalami kesulitan berurusan dengan ReactJS facebook. Setiap kali saya melakukan ajax dan ingin menampilkan data html, ReactJS menampilkannya sebagai teks. (Lihat gambar di bawah)
Data ditampilkan melalui fungsi panggilan balik sukses dari jquery Ajax.
$.ajax({
url: url here,
dataType: "json",
success: function(data) {
this.setState({
action: data.action
})
}.bind(this)
});
Apakah ada cara mudah untuk mengubahnya menjadi html? Bagaimana saya harus melakukannya menggunakan ReactJS?
javascript
jquery
ajax
reactjs
Peter Wateber
sumber
sumber
sanitize
fungsi daridompurify
paket npm jika Anda mendapatkan informasi itu dari API eksternal.Sekarang ada metode yang lebih aman untuk mencapai ini. The docs telah diperbarui dengan metode ini.
Metode Lainnya
Paling mudah - Gunakan Unicode, simpan file sebagai UTF-8 dan atur
charset
ke UTF-8.<div>{'First · Second'}</div>
Aman - Gunakan nomor Unicode untuk entitas di dalam string Javascript.
<div>{'First \u00b7 Second'}</div>
atau
<div>{'First ' + String.fromCharCode(183) + ' Second'}</div>
Atau array campuran dengan elemen string dan JSX.
<div>{['First ', <span>·</span>, ' Second']}</div>
Last Resort - Masukkan HTML mentah menggunakan
dangerouslySetInnerHTML
.<div dangerouslySetInnerHTML={{__html: 'First · Second'}} />
sumber
Saya sarankan menggunakan Pelapis diciptakan oleh milesj . Ini adalah perpustakaan yang fenomenal yang menggunakan angka jika teknik cerdik untuk mengurai dan memasukkan HTML dengan aman ke DOM.
Contoh Penggunaan:
sumber
sumber
Saya menemukan biola ini. ini berfungsi seperti ini
tautan jsfiddle
sumber
import JSDOM from 'jsdom'; global.window = new JSDOM('', { url: 'http://localhost' }); global.document = global.window.document;
idk goodluckAnda juga dapat menggunakan Parser () dari html-react-parser. Saya telah menggunakan yang sama. Tautan dibagikan.
sumber
saya mulai menggunakan paket npm yang disebut react-html-parser
sumber
Bagi yang masih bereksperimen, npm instal react-html-parser
Ketika saya menginstalnya ia memiliki unduhan 123628 mingguan.
sumber
Anda dapat menggunakan yang berikut jika Anda ingin membuat html mentah di Bereaksi
Contoh - Memberikan
Tes adalah hari yang baik
sumber