Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Memaparkan Rentetan HTML sebagai JSX dengan Selamat dalam React?

Bagaimana untuk Memaparkan Rentetan HTML sebagai JSX dengan Selamat dalam React?

Barbara Streisand
Lepaskan: 2024-11-30 09:13:10
asal
994 orang telah melayarinya

How to Safely Render HTML Strings as JSX in React?

Tukar Rentetan HTML kepada JSX Boleh Render dalam React

Memperkenalkan Dilema Reaksi

Apabila dipaparkan data yang diterima melalui permintaan AJAX dalam ReactJS, pembangun sering menghadapi isu biasa: data muncul sebagai teks biasa dan bukannya HTML yang diberikan. Ini berlaku disebabkan oleh tingkah laku lalai React yang melarikan diri daripada kandungan HTML untuk menghalang kerentanan skrip silang tapak (XSS).

Menyingkap Penyelesaian

Untuk menangani cabaran ini, React menyediakan sifat dangerouslySetInnerHTML. Dengan menggunakan sifat ini, pembangun boleh menjadikan rentetan HTML sebagai elemen React. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pendekatan ini membawa risiko yang wujud dan harus digunakan dengan berhati-hati.

Membuat Penyelesaian

Untuk menggambarkan penggunaan dangerouslySetInnerHTML, pertimbangkan perkara berikut contoh:

<td dangerouslySetInnerHTML={{ __html: this.state.actions }} />
Salin selepas log masuk

Dalam kod ini, rentetan HTML daripada respons AJAX (disimpan dalam this.state.actions) dipaparkan dalam elemen td. Ini membolehkan kandungan HTML dipaparkan dengan betul dalam aplikasi React.

Nota Awas

Walaupun berbahayaSetInnerHTML menyelesaikan isu pemaparan HTML, adalah penting untuk berwaspada apabila menggunakan harta ini. Sebarang potensi kelemahan XSS dalam rentetan HTML boleh menjejaskan keselamatan aplikasi. Anda dinasihatkan untuk menggunakan teknik pembersihan bahagian pelayan untuk memastikan integriti kandungan HTML sebelum memaparkannya dalam React.

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Rentetan HTML sebagai JSX dengan Selamat dalam React?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan