NextJS 将变量传递给前端脚本

问题描述 投票:0回答:1

我正在尝试将用户电子邮件(或显示名称)或其他任何内容传递给 NextJS 中的脚本。

最终的原因是跟踪转化事件。

这是用户电子邮件的示例:

  const userEmail = useEmail();

  console.log({userEmail});

  return (
    <Layout>
      <Head>
        <title key="title">
          Onboarding {userEmail}| {configuration.site.siteName}
        </title>
      </Head>
      <Script
        id="gr-event"
        dangerouslySetInnerHTML={{
          __html: `console.log('${userEmail}')`,
        }}
      />

是的,最烦人的是,在返回上方和标题标签中调用它效果很好。但它在该脚本中不起作用。

我是一名菜鸟,刚刚开始学习自己,但找不到这个问题的答案。我尝试将其字符串化,将其作为模板文字、useEffect 甚至集合的一部分传递。没有任何效果。

有什么想法吗?非常感谢!

next.js web-frontend
1个回答
0
投票

最终通过使用电子邮件条件重新渲染脚本来解决这个问题(请注意,电子邮件始终在那里,但这可行)

{userEmail && (
            <Script
                id="gr-event"
                dangerouslySetInnerHTML={{
                    __html: `console.log('${userEmail}')`,
                }}
            />
        )}

当然,我不确定这是否是正确的方法以及是否会出错。

欢迎其他解决方案!谢谢!

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.