Me gustaría incluir y ejecutar algún archivo js en el componente React usando Helmet . Aquí está el código simple:
índice.js:
import React from "react"; import ReactDOM from "react-dom"; import { Helmet } from "react-helmet"; import "./styles.css"; function App() { console.log("op"); return ( <div className="App"> <Helmet> <script src="hello.js" type="text/jsx" /> </Helmet> <h1>Hellok CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> </div> ); } y script js ultra simple para incluir y ejecutar:
hola.js:
console.log("opl882...") document.body.style.backgroundColor = "red"; ¡Pero el script parece NO funcionar! - No tengo salida de consola y/o cambio de color de fondo. ¿Qué es extraño cuando uso el código js como un código en línea como:
<Helmet> <script type="text/javascript"> console.log("opl882..."); document.body.style.backgroundColor = "red" </script> </Helmet>¡funciona!
¿Por qué no funciona el archivo js externo?
Por lo general, no implemento archivos .js en reaccionar usando una etiqueta de script. En su lugar, debe importarlo en la parte superior de esta manera (suponiendo que './hello.js' sea la ruta al archivo):
import './hello.js'Ese archivo también debe estar ubicado dentro de la carpeta src.