Я рекомендую використовувати переплетення, створене milesj . Це феноменальна бібліотека, яка використовує число, якщо геніальні методи аналізують та безпечно вставляють HTML у DOM.
Переплетення - це бібліотека реагувань для безпечного візуалізації HTML, атрибутів фільтру, автоматичного загортання тексту з відповідниками, візуалізації символів смайлів та багато іншого.
- Переплетення - це надійна бібліотека React, яка може:
- Безпечно візуалізуйте HTML, не використовуючи небезпечноSetInnerHTML.
- Безпечно зніміть теги HTML.
- Автоматичний XSS та захист від ін'єкцій.
- Очистіть атрибути HTML за допомогою фільтрів.
- Інтерполюйте компоненти, використовуючи математики.
- Автопосилання, URL-адреси, IP-адреси, електронні листи та хештеги.
- Візуалізуйте символи смайлів та смайликів.
- І набагато більше!
Приклад використання:
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