Tengo un problema con una condición en línea para cargar scripts. Las condiciones funcionan porque la etiqueta me muestra el texto pero para el script no funciona. Cómo puedo resolverlo.
const cookie = new Cookies().get('cookiesAccepted'); const [loadScript,setLoadScript]= useState(cookie); function cookieAccepted(){ setLoadScript(true); } return( {loadScript && <h1>test</h1> } <Cookie meta={cookieAccepted.bind(this)}/> { loadScript && <script async src="https://www.googletagmanager.com/gtag/" /> } {loadScript && <script dangerouslySetInnerHTML={{ __html: ` window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '********', { page_path: window.location.pathname, }); `, }} /> } )Recomiendo usar la función Script de next js.
import Script from 'next/script';En lugar de agregar una etiqueta, podría estar haciendo algo como esto:
{cookieAccepted && ( <Script src={`https://www.googletagmanager.com/gtag/`}/> )}Consulte este enlace para obtener más referencias: https://nextjs.org/docs/api-reference/next/script