У меня проблемы с работой с ReactJS на Facebook. Всякий раз, когда я делаю ajax и хочу отобразить HTML-данные, ReactJS отображает их в виде текста. (См. Рисунок ниже)
Данные отображаются с помощью функции обратного вызова jjery Ajax.
$.ajax({
url: url here,
dataType: "json",
success: function(data) {
this.setState({
action: data.action
})
}.bind(this)
});
Есть ли простой способ преобразовать это в HTML? Как мне это сделать с помощью ReactJS?
javascript
jquery
ajax
reactjs
Питер Уотебер
источник
источник
sanitize
функцию изdompurify
пакета npm.В настоящее время есть более безопасные методы для достижения этой цели. В документах были обновлены с помощью этих методов.
Другие Методы
Самый простой - используйте Unicode, сохраните файл как UTF-8 и установите
charset
UTF-8.<div>{'First · Second'}</div>
Безопаснее - используйте номер Unicode для объекта внутри строки Javascript.
<div>{'First \u00b7 Second'}</div>
или
<div>{'First ' + String.fromCharCode(183) + ' Second'}</div>
Или смешанный массив со строками и элементами JSX.
<div>{['First ', <span>·</span>, ' Second']}</div>
Последнее прибежище - Вставьте необработанный HTML, используя
dangerouslySetInnerHTML
.<div dangerouslySetInnerHTML={{__html: 'First · Second'}} />
источник
Я рекомендую использовать Interweave, созданный milesj . Это феноменальная библиотека, которая использует несколько оригинальных методов для анализа и безопасной вставки HTML в DOM.
Пример использования:
источник
источник
Я нашел эту JS Fiddle. это работает так
ссылка jsfiddle
источник
import JSDOM from 'jsdom'; global.window = new JSDOM('', { url: 'http://localhost' }); global.document = global.window.document;
Вы также можете использовать Parser () из html-response-parser. Я использовал то же самое. Ссылка поделилась.
источник
я начинаю использовать пакет npm под названием response-html-parser
источник
Для тех, кто все еще экспериментирует, npm устанавливает response-html-parser
Когда я установил его, он имел 123628 загрузок в неделю.
источник
Вы можете использовать следующее, если вы хотите визуализировать сырой HTML в React
Пример - Render
Тест хороший день
источник