2017-09-07 68 views
0

我想渲染一個有註釋的html組件,以便評論在DOM中顯示爲註釋。在反應組件的html中渲染評論

我現在有

<head> 
    <title>{props.pageTitle}</title> 
</head> 

但我想有

<head> 
    <title>{props.pageTitle}</title> 

    <!-- Some information here --> 

</head> 

而且我想避免使用下列內容:

dangerouslySetHtml 
element.innerHTML = "..."; 
element.outerHTML = "..."; 
+2

的可能的複製[如何呈現反應的HTML註釋?](https://stackoverflow.com/questions/40015336/how-to-render-a-html-comment-in-react) – Li357

+1

另請參閱https://stackoverflow.com/q/40381851/5647260 – Li357

+0

所有這些解決方案都使用內部,外部或危險 – es3735746

回答

1

一旦組件安裝,你可以檢索當前DOM元素,然後應用一些DOM操作將HTML註釋放在任何地方需要。您可以在下面找到由HTML註釋包裝的組件示例。

componentDidMount() {  
    // Get current node 
    let currentNode = ReactDOM.findDOMNode(this); 
    // Get parent node 
    let parentNode = currentNode.parentNode; 
    // Create the comment to insert before 
    let commentBefore = document.createComment("Begin Tag"); 
    parentNode.insertBefore(commentBefore, currentNode); 
    // Create the comment to insert after 
    let commentAfter = document.createComment("End Tag"); 
    parentNode.insertBefore(commentAfter, currentNode.nextSibling); 
}