2016-03-28 11 views
1

投稿があるJSONテーブルがあります。コンテンツはHTMLで提供され、私はそれをレンダリングしようとする中で反応さ:データをReactで印刷する

return (
    <article> 
     <h2><a href={post.link}>{post.title.rendered}</a></h2> 
     <div className="post__content">{post.content.rendered}</div> 
    </article> 
) 

は私が印刷された完全なHTMLマークアップを取得しています(エスケープ)。私は何をすべきか?

答えて

5

あなたは、コード・スニペットのような何かを探しているならdangerouslySetInnerHTMLとは反対に、あなただけの、文字列リテラルを使用することができますdangerouslySetInnerHTML

<article> 
    <h2><a href={post.link}>{post.title.rendered}</a></h2> 
    <div className="post__content" dangerouslySetInnerHTML={{__html: post.content.rendered}}></div> 
</article> 
+0

私がこのことを知って方法、それは危険ではない?一方、ユーザーが投稿した投稿はありません。 –

+0

私はいつもそれを使用しましたが、私はいつも私がレンダリングしていた日付の起源を知っていました。そう、ええ - そのタッチの選択。これ以外の私の考えは、すべてのhtml文字を取り除き、最後に美化に取り組むことです。 –

0

を使用してみてください:

var Snippet = React.createClass({ 
    render: function() { 
    return (
     <div> 
     {` 
     <pre><code> 
        <h4>I am code!</h4> 
       </code></pre> 
     `} 
     </div> 
    ); 
    } 
}); 

ReactDOM.render(
    <Snippet/>, 
    document.getElementById('container') 
); 
関連する問題