You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Google Tag Manager参数从TypeScript改写为React格式

解决React站点插入Google标签时的Type annotations can only be used in TypeScript files错误

问题分析

你的文件是.js后缀的JavaScript文件,但代码中使用了TypeScript专属的类型注解语法(tagManagerArgs: TagManagerArgs),JavaScript不支持该语法,因此触发了报错。

修复方案

以下三种方式可根据你的需求选择:

方式1:移除类型注解(纯JavaScript兼容)

直接删除类型标注,保留核心逻辑即可,修改后的代码如下:

import React, { useEffect } from 'react'
import TagManager from 'react-gtm-module'
import { Toaster } from 'react-hot-toast'
import './Product.scss'
import { Layout } from '../components'
import '../styles/globals.css'
import { StateContext } from '../context/StateContext'

function MyApp({ Component, pageProps }) {
  const gtmId = process.env.NEXT_PUBLIC_GTM_ID || "";

  const tagManagerArgs = {
    gtmId,
  }

  useEffect(() => {
    TagManager.initialize(tagManagerArgs)
  }, [])

  return (
    <StateContext>
      <Layout>
        <Toaster />
        <Component {...pageProps} />
      </Layout>
    </StateContext>
  )
}

export default MyApp

方式2:保留类型提示(JSDoc兼容)

如果想要保留类型检查提示,又不想切换到TypeScript文件,可以用JSDoc注释标注类型,编辑器(如VS Code)会识别并提供提示:

import React, { useEffect } from 'react'
import TagManager, { TagManagerArgs } from 'react-gtm-module'
import { Toaster } from 'react-hot-toast'
import './Product.scss'
import { Layout } from '../components'
import '../styles/globals.css'
import { StateContext } from '../context/StateContext'

function MyApp({ Component, pageProps }) {
  const gtmId = process.env.NEXT_PUBLIC_GTM_ID || "";

  /** @type {TagManagerArgs} */
  const tagManagerArgs = {
    gtmId,
  }

  useEffect(() => {
    TagManager.initialize(tagManagerArgs)
  }, [])

  return (
    <StateContext>
      <Layout>
        <Toaster />
        <Component {...pageProps} />
      </Layout>
    </StateContext>
  )
}

export default MyApp

方式3:切换到TypeScript文件

如果项目后续计划使用TypeScript,直接将_app.js重命名为_app.tsx,原代码的类型注解就能正常使用,无需修改逻辑。

注意事项

  • 确保NEXT_PUBLIC_GTM_ID环境变量已在项目的.env文件中正确配置,否则Google Tag Manager无法完成初始化。

内容的提问来源于stack exchange,提问作者Chidimma Nworah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 12:55:20