Estoy agregando esta etiqueta de script a mi procesamiento React jsx:
<script>alert('Hello world')</script>
¿Por qué el código Javascript <script>alert('Hello world')</script>
no se ejecuta en mi aplicación React?
Actualizar:
Estoy depurando esto porque obtengo este HTML de la API:
<div class="my-class" data-src="/event/66478667"></div> <script>(function(d, s, id) {var js,ijs=d.getElementsByTagName(s)[0];if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src="https://embed.widget.js";ijs.parentNode.insertBefore(js, ijs);}(document, 'script', 'my-js'));</script>
Ahora estoy analizando este HTML a través del paquete html-react-parser como:
return <div data-testid="html-paragraph">{parser(html)}</div>;
¿Pero esto no funciona porque el código Javascript no se está ejecutando?
¿Cómo resolver esto?
Vea aquí mi sandbox de código .
Elimine la etiqueta <script>
y reemplácela con {}
.
Entonces: {alert('Hello world')}
Puede agregarlo a través del paquete npm. Lo usé como (una vez):
import React, { Component } from 'react'; import ScriptTag from 'react-script-tag'; class Demo extends Component { render() { return (<ScriptTag isHydrating={true} type="text/javascript" src="some_script.js" />); } }
Aquí está el enlace del paquete npm https://www.npmjs.com/package/react-script-tag