Estou tendo problemas para lidar com o ReactJS do facebook. Sempre que faço o ajax e quero exibir dados html, o ReactJS os exibe como texto. (Veja a figura abaixo)
Os dados são exibidos através da função de retorno de chamada de sucesso do jquery Ajax.
$.ajax({
url: url here,
dataType: "json",
success: function(data) {
this.setState({
action: data.action
})
}.bind(this)
});
Existe alguma maneira fácil de converter isso em html? Como devo fazer isso usando o ReactJS?
javascript
jquery
ajax
reactjs
Peter Wateber
fonte
fonte
sanitize
função dodompurify
pacote npm se você estiver obtendo essas informações de uma API externa.Agora existem métodos mais seguros para fazer isso. Os documentos foram atualizados com esses métodos.
Outros métodos
Mais fácil - use Unicode, salve o arquivo como UTF-8 e defina-o
charset
como UTF-8.<div>{'First · Second'}</div>
Mais seguro - use o número Unicode da entidade dentro de uma string Javascript.
<div>{'First \u00b7 Second'}</div>
ou
<div>{'First ' + String.fromCharCode(183) + ' Second'}</div>
Ou uma matriz mista com strings e elementos JSX.
<div>{['First ', <span>·</span>, ' Second']}</div>
Último recurso - insira HTML bruto usando
dangerouslySetInnerHTML
.<div dangerouslySetInnerHTML={{__html: 'First · Second'}} />
fonte
Eu recomendo usar o Interweave criado por milesj . É uma biblioteca fenomenal que utiliza um número de técnicas engenhosas para analisar e inserir HTML com segurança no DOM.
Exemplo de uso:
fonte
fonte
Eu encontrei este violino js. isso funciona assim
ligação jsfiddle
fonte
import JSDOM from 'jsdom'; global.window = new JSDOM('', { url: 'http://localhost' }); global.document = global.window.document;
idk goodluckVocê também pode usar Parser () em html-react-parser. Eu usei o mesmo. Link compartilhado.
fonte
eu começo a usar o pacote npm chamado react-html-parser
fonte
Para aqueles que ainda estão experimentando, o npm install react-html-parser
Quando eu instalei, ele tinha 123628 downloads semanais.
fonte
Você pode usar o seguinte se quiser renderizar html bruto no React
Exemplo - Renderizar
O teste é um bom dia
fonte