Tengo un problema al usar una función de la biblioteca New Relic,
Si uso esta función en public/index.html (comando en codesandbox) funciona:
captura de pantalla en el elemento de inspección en funcionamiento:
bueno, el problema es que si creo mi propia función de ayuda y la creo en app.js, no funciona
a continuación se muestra el archivo app.js:
import { useEffect } from "react"; import { newRelicConfig } from "./newRelic"; import "./styles.css"; export default function App() { useEffect(() => { let script = document.createElement("script"); script.type = "text/jsx"; script.innerHTML = newRelicConfig( "3277692", "3277692", "NRJS-93eea892ddd7204acfd", "1091749869" ); document.body.appendChild(script); }, []); return ( <div className="App"> <h1>New Relic</h1> <h2>Start editing to see some magic happen!</h2> </div> ); }en el archivo ./función newRelic newRelicConfig
la función de NRJS no existe:
¿Cómo evitar una función en app.js como con index.html?
Recibo un error de sintaxis al intentar ejecutar su función en newRelix.jsx, así que antes que nada verifique dos veces la función.
Dicho esto, agregar una función javascript en una etiqueta de secuencia de comandos a su documento HTML no es lo mismo que ejecutar esa función. Puede intentar agregarlo como una función de autoinvocación. También tenga en cuenta que el tipo debe ser text/javascript (no text/jsx ):
useEffect(() => { let functionBody = newRelicConfig(...); // omitting params here, as they're possibly sensitive let script = document.createElement("script"); script.type = "text/javascript"; script.innerHTML = `(function(){${functionBody}})();`; document.body.appendChild(script); }, []);