Tôi khuyên bạn nên sử dụng interweave tạo ra bởi milesj . Đây là một thư viện hiện tượng sử dụng một số nếu các kỹ thuật khéo léo để phân tích cú pháp và chèn HTML vào DOM một cách an toàn.
Interweave là một thư viện phản ứng để kết xuất HTML một cách an toàn, các thuộc tính bộ lọc, văn bản tự động với các công cụ đối sánh, kết xuất các ký tự biểu tượng cảm xúc và nhiều hơn nữa.
- Interweave là một thư viện React mạnh mẽ có thể:
- Kết xuất HTML một cách an toàn mà không cần sử dụng nguy hiểm SetInnerHTML.
- Tháo thẻ HTML an toàn.
- XSS tự động và bảo vệ tiêm.
- Làm sạch các thuộc tính HTML bằng các bộ lọc.
- Nội suy các thành phần bằng cách sử dụng khớp.
- Tự động điền URL, IP, email và hashtag.
- Kết xuất biểu tượng cảm xúc và biểu tượng cảm xúc.
- Và nhiều hơn nữa!
Ví dụ sử dụng:
import React from 'react';
import { Markup } from 'interweave';
const articleContent = "<p><b>Lorem ipsum dolor laboriosam.</b> </p><p>Facere debitis impedit doloremque eveniet eligendi reiciendis <u>ratione obcaecati repellendus</u> culpa? Blanditiis enim cum tenetur non rem, atque, earum quis, reprehenderit accusantium iure quas beatae.</p><p>Lorem ipsum dolor sit amet <a href='#testLink'>this is a link, click me</a> Sunt ducimus corrupti? Eveniet velit numquam deleniti, delectus <ol><li>reiciendis ratione obcaecati</li><li>repellendus culpa? Blanditiis enim</li><li>cum tenetur non rem, atque, earum quis,</li></ol>reprehenderit accusantium iure quas beatae.</p>"
<Markup content={articleContent} /> // this will take the articleContent string and convert it to HTML markup. See: https://milesj.gitbook.io/interweave
//to install package using npm, execute the command
npm install interweave