Javascript 将变量添加到React中的脚本标记

Javascript 将变量添加到React中的脚本标记,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我需要构造一些脚本标记,这些脚本标记包含从API响应返回的带有参数的变量。这些变量需要在HTML中可用,以便在页面加载后可以访问。需要脚本的一个例子是这样的 var-test\u var=“test123” 我目前的实现是这样的 useEffect(() => { const script = document.createElement("script"); script.type = "text/javascript"; script

我需要构造一些脚本标记,这些脚本标记包含从API响应返回的带有参数的变量。这些变量需要在HTML中可用,以便在页面加载后可以访问。需要脚本的一个例子是这样的

var-test\u var=“test123”

我目前的实现是这样的

useEffect(() => {
  const script = document.createElement("script");
  script.type = "text/javascript";
  script.innerHTML = `var test_var = ${testId};`;
  document.body.appendChild(script);
  return () => {
    document.body.removeChild(script);
  }
}, []);
通过这样做,该变量是否可以在页面的HTML中访问,因为从技术上讲,我只是将整个内容设置为script.innerHTML中的字符串?在检查元素时,它几乎显示为


var-test\u var=test123

为什么不直接将其添加到窗口对象中?使用名称空间来最小化对窗口对象的污染

useffect(()=>{
常量MyNameSpace={
测试变量:testId,
};
window.MyNameSpace=MyNameSpace;
return()=>{
删除window.MyNameSpace;
}

}, []);我的初始实现我只是将第三方需要的参数直接添加到window对象中,如您所示。但他们坚持认为我必须将脚本注入body标记内的HTML(DOM)中。我不确定他们的理由。根据这个更新了答案