Javascript 如何在页面加载后异步修改标头中的JSON-LD

Javascript 如何在页面加载后异步修改标头中的JSON-LD,javascript,reactjs,json-ld,helmet.js,Javascript,Reactjs,Json Ld,Helmet.js,在页面加载开始时,我将JSON-LD数据添加到标题中: <head> ... <script type="application/ld+json"> { "@context":"http://schema.org", ... } </script> </head> ... { “@context”:”http://schema.org", ... } 后来我得到了一些额外的异步数据,我想添加

在页面加载开始时,我将JSON-LD数据添加到标题中:

<head>
  ...
  <script type="application/ld+json">
    {
      "@context":"http://schema.org",
      ...
    }
  </script>
</head>

...
{
“@context”:”http://schema.org",
...
}
后来我得到了一些额外的异步数据,我想添加,因为

想知道如何更改标头中现有的JSON-LD数据吗?

您可以使用并呈现模式脚本:

import { Helmet } from "react-helmet";

const schema = {
    "@context": "http://schema.org",
    "@type": "Person",
    "name": "John Doe"
    ...
}

<Helmet>
    <script type="application/ld+json">
       {JSON.stringify(schema)}
    </script>
</Helmet>
从“react Helmet”导入{Helmet};
常量模式={
“@context”:”http://schema.org",
“@type”:“Person”,
“姓名”:“约翰·多伊”
...
}
{JSON.stringify(模式)}

您可以在渲染时为脚本标记提供id或某些标识属性,并在获得新数据后将其替换为全新的脚本标记。谢谢!您好@Przemysław,虽然helmet确实通过呈现组件向标题添加了内容,但我还不知道在页面完全加载后是否有任何可能性或方便的方式使用helmet修改标题。假设您在呈现组件后异步获得了一些评论,您将如何将它们添加到json ld?您应该能够在状态更改后重新呈现
头盔
,模式将被更新。您可以使用常规
setState
或Redux进行此操作。我刚刚在我自己的应用程序中检查了它,它正在按预期工作。