我有一个问题,我需要将javascript对象注入(inject) HEAD HEAD 标记中,以进行标记管理。
这是我的 Helm 组件,但它仅接受通过rewind()函数设置为元数据服务器端的特定参数。

还有什么方法可以使用React Helmet来完成我需要的工作,因此,将javascritpt对象创建到 SCRIPT 标记中还是应该采用其他方法?

MyComponent.js

<Helmet
    title={article.get('title')}
    meta={[
        {"property": "og:title", "content": article.get('title')},
        {"property": "og:url", "content": article.get('url')},

        {"property": "twitter:title", "content": article.get('title')}
    ]}
/>

server.js
let htmlHead = `
  ${head.title}
  ${head.meta.toString()}
`;

谢谢你的支持

最佳答案

更新
自2017年以来的答案适用于v3的react-helmet,但现在已经有些过时了-现在有一种更好的方法,直接使用script标签,如newer answer中所引用,我建议这样做。
将为后代以及使用较旧版本的 Helm 的人提供此答案。但请注意,尽管这是投票率最高的答案,但它不再是最佳答案。


您可以使用Helmet的innerHTML Prop 上的script属性在嵌入式脚本中定义对象-该属性是在Helmet 3.0.0中引入的

<Helmet
  script={[{
    type: 'text/javascript',
    innerHTML: 'window.yourObject = { it: "works" }'
  }]}
/>

09-12 21:32