Поддерживает ли тег модуля next/script dangerouslySetInnerHTML?

#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