Mam problem z ReactJS na Facebooku. Ilekroć robię ajax i chcę wyświetlić dane HTML, ReactJS wyświetla je jako tekst. (Patrz rysunek poniżej)
Dane są wyświetlane przez funkcję wywołania zwrotnego jQuery Ajax.
$.ajax({
url: url here,
dataType: "json",
success: function(data) {
this.setState({
action: data.action
})
}.bind(this)
});
Czy jest jakiś prosty sposób przekonwertować to na HTML? Jak mam to zrobić za pomocą ReactJS?
javascript
jquery
ajax
reactjs
Peter Wateber
źródło
źródło
sanitize
funkcji zdompurify
pakietu npm, jeśli pobierasz te informacje z zewnętrznego interfejsu API.Istnieją teraz bezpieczniejsze metody osiągnięcia tego celu. Dokumenty zostały zaktualizowane przy użyciu tych metod.
Inne metody
Najłatwiejszy - użyj Unicode, zapisz plik jako UTF-8 i ustaw na
charset
UTF-8.<div>{'First · Second'}</div>
Bezpieczniej - użyj numeru Unicode dla encji wewnątrz ciągu JavaScript.
<div>{'First \u00b7 Second'}</div>
lub
<div>{'First ' + String.fromCharCode(183) + ' Second'}</div>
Lub tablica mieszana z ciągami znaków i elementami JSX.
<div>{['First ', <span>·</span>, ' Second']}</div>
Last Resort - Wstaw surowy HTML za pomocą
dangerouslySetInnerHTML
.<div dangerouslySetInnerHTML={{__html: 'First · Second'}} />
źródło
Polecam przy użyciu Interweave stworzony przez milesj . Jest to fenomenalna biblioteka, która wykorzystuje wiele genialnych technik do analizowania i bezpiecznego wstawiania HTML do DOM.
Przykład użycia:
źródło
źródło
znalazłem to skrzypce js. to działa w ten sposób
link jsfiddle
źródło
import JSDOM from 'jsdom'; global.window = new JSDOM('', { url: 'http://localhost' }); global.document = global.window.document;
idk goodluckMożesz także użyć Parser () z HTML-React-Parser. Użyłem tego samego. Link udostępniony.
źródło
zaczynam korzystać z pakietu npm o nazwie reaguj-HTML-parser
źródło
Dla tych, którzy wciąż eksperymentują, npm zainstaluj install-html-parser
Po zainstalowaniu miał 123628 pobrań tygodniowo.
źródło
Możesz użyć poniższych, jeśli chcesz renderować surowy HTML w React
Przykład - Renderuj
Test to dobry dzień
źródło