我有一个NextJS应用程序,页面结构松散地看起来像这样:
<Head>
<Navigation>
<Page>
<Footer>
我需要在<Head>
组件中加载一个DTM脚本,然后在<Page>
组件中触发一些标记。但问题是,<Page>
中的标记在DTM脚本加载到页面之前就开始触发了。
那么,有没有一种方法可以让<Head>
标记中的DTM脚本在<Page>
组件加载之前先加载呢?我本来想使用“componentwillmount”,但它已经被弃用了。
有人能建议我如何解决这个问题吗?
3条答案
按热度按时间5ssjco0h1#
您可以使用vanilla javascript从
<Page>
组件侦听脚本加载事件。在custom _document中:然后在
<Page>
分量中:k3fezbri2#
通过Nextjs,你可以在任何组件中使用
Head
。你可以在Page
中添加Head
,然后将<script/>
放在里面t0ybt7op3#
next.js提供了
onLoad
,它在加载外部脚本时触发: