J'ai du mal à gérer le ReactJS de Facebook. Chaque fois que je fais ajax et que je veux afficher des données html, ReactJS les affiche sous forme de texte. (Voir figure ci-dessous)
Les données sont affichées via la fonction de rappel de réussite du jquery Ajax.
$.ajax({
url: url here,
dataType: "json",
success: function(data) {
this.setState({
action: data.action
})
}.bind(this)
});
Existe-t-il un moyen simple de convertir cela en html? Comment dois-je le faire en utilisant ReactJS?
javascript
jquery
ajax
reactjs
Peter Wateber
la source
la source
sanitize
fonction dudompurify
package npm si vous obtenez ces informations d'une API externe.Il existe désormais des méthodes plus sûres pour y parvenir. Les documents ont été mis à jour avec ces méthodes.
Autres méthodes
Le plus simple : utilisez Unicode, enregistrez le fichier au format UTF-8 et réglez-le
charset
sur UTF-8.<div>{'First · Second'}</div>
Plus sûr - Utilisez le numéro Unicode pour l'entité à l'intérieur d'une chaîne Javascript.
<div>{'First \u00b7 Second'}</div>
ou
<div>{'First ' + String.fromCharCode(183) + ' Second'}</div>
Ou un tableau mixte avec des chaînes et des éléments JSX.
<div>{['First ', <span>·</span>, ' Second']}</div>
Last Resort - Insérez du HTML brut à l'aide de
dangerouslySetInnerHTML
.<div dangerouslySetInnerHTML={{__html: 'First · Second'}} />
la source
Je recommande d'utiliser Interweave créé par milesj . C'est une bibliothèque phénoménale qui utilise un certain nombre de techniques ingénieuses pour analyser et insérer en toute sécurité du HTML dans le DOM.
Exemple d'utilisation:
la source
la source
j'ai trouvé ce violon js. cela fonctionne comme ça
lien jsfiddle
la source
import JSDOM from 'jsdom'; global.window = new JSDOM('', { url: 'http://localhost' }); global.document = global.window.document;
arriver si vous faites de la bonne chanceVous pouvez également utiliser Parser () à partir de html-react-parser. J'ai utilisé la même chose. Lien partagé.
la source
je commence à utiliser le paquet npm appelé react-html-parser
la source
Pour ceux qui expérimentent encore, npm installe react-html-parser
Quand je l'ai installé, il y avait 123628 téléchargements hebdomadaires.
la source
Vous pouvez utiliser ce qui suit si vous souhaitez rendre le code HTML brut dans React
Exemple - Rendu
Le test est une bonne journée
la source