Estoy tratando de agregar secuencias de comandos en línea a un componente de React: tengo mi enlace personalizado:
import { useEffect } from 'react'; const useScript = url => { useEffect(() => { const script = document.createElement('script'); script.src = url; script.async = true; document.body.appendChild(script); return () => { document.body.removeChild(script); } }, [url]); }; export default useScript;Que uso así:
import useScript from 'hooks/useScript'; const MyComponent = () => { useScript('path/to/my.js'); }Script agregado al documento después del evento de navegación SPA pero no agrega eventos a mis botones sin recargar la página.
Tuve un problema dentro de uno de los scripts agregados. Cambié la forma de agregar script. Exporté la función dentro de js, luego importé esta función dentro de mi componente y luego usé useEffect.
import { MyFunction } from './myscript.js'; const MyComponent = () => { useEffect(() => { MyFunction(); }, []); return( ...... )