HTML (включая сущности) будет отображаться в виде строки при отображении в виде выражения:
{htmlString}
Для анализа HTML существует dangerouslySetInnerHTML
prop:
<span dangerouslySetInnerHTML={{__html: htmlString }} />
Как видно из названия, это небезопасно, и его следует избегать.Если строка исходит из ненадежного источника или источника, который может быть использован, вредоносный код может быть передан клиенту.
Предпочтительным способом является конкретное декодирование объектов, например, с помощью html-entities
:
import { Html5Entities } from 'html-entities';
const htmlEntities = new Html5Entities();
...
{htmlEntities.decode(htmlString)}
Эту проблему можно избежать, если по возможности не хранить сущности HTML.