2016-06-20 76 views
2

我有一個問題,我需要注入一個JavaScript對象標籤管理的目的,HEAD。 這是我的頭盔組件,但它只接受通過rewind()函數設置爲元數據服務器端的特定參數。Can React Helmet可以在<HEAD>標記中注入javascript對象嗎?

還有一種方法仍然可以使用React頭盔來做我需要的東西,所以,創建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()} 
`; 

謝謝大家的支持

回答

0

如果我理解正確你的問題,你<Helmet/>聲明中,可以在script屬性中添加註入一個<script>標記到你的頁面的HTML頭部。

<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')} 
    ]} 
    script={[ 
      {"src": "http://url.com/script.js", "type": "text/javascript"} 
    ]} 
/> 
1

我需要注入HEAD標籤的JavaScript對象

你可以定義一個內嵌腳本的對象,使用的頭盔的script道具的innerHTML屬性 - 這個屬性是在推出Helmet 3.0.0

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