#reactjs #next.js #jsx #head
Вопрос:
Я работал над Next.js на основе кодовой базы мы недавно перешли на самую обновленную версию nextjs 11.x. Ради основных веб-функций моя задача-обновить старые теги сценариев (простой HTML/JSX) до компонента модуля next/scripts <Script>
, с помощью которого старый стек использует диспетчер тегов dangerouslySetInnerHTML
. как использовать тег next/script и получить тот же результат.
<script
// eslint-disable-next-line react/no-danger
dangerouslySetInnerHTML={{
__html: `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'amp;l=' l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id=' i dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-******');`
}}
></script>
Комментарии:
1. Вы пробовали это сделать? Какие у вас проблемы? Вы должны иметь возможность использовать
dangerouslySetInnerHTML
непосредственно сnext/script
.2. Это не работает, так как в нем не удается ввести код в dom