|
|
@ -249,7 +249,7 @@ var Comment = React.createClass({ |
|
|
|
}); |
|
|
|
``` |
|
|
|
|
|
|
|
このコードでは Showdown のライブラリを呼び出すことしかしていません。`this.props.children` は React によってラップされたテキストですが、これを Showdown が理解できる生の文字列に変換する必要があります。そのため、上のコードでは明示的に `toString()` を呼び出しているのです。 |
|
|
|
このコードでは marked のライブラリを呼び出すことしかしていません。`this.props.children` は React によってラップされたテキストですが、これを marked が理解できる生の文字列に変換する必要があります。そのため、上のコードでは明示的に `toString()` を呼び出しているのです。 |
|
|
|
|
|
|
|
しかし問題があります!ブラウザがレンダリングしたコメントは次のように表示されているはずです -- "`<p>`This is `<em>`another`</em>` comment`</p>`" このようなタグは実際に HTML としてレンダリングさせたいですね。 |
|
|
|
|
|
|
@ -272,9 +272,9 @@ var Comment = React.createClass({ |
|
|
|
}); |
|
|
|
``` |
|
|
|
|
|
|
|
これは特別な API であり、生の HTML が挿入されにくくなるよう意図的に作ったものです。しかし、ここでは Showdown のためにこのバックドアを利用しています。 |
|
|
|
これは特別な API であり、生の HTML が挿入されにくくなるよう意図的に作ったものです。しかし、ここでは marked のためにこのバックドアを利用しています。 |
|
|
|
|
|
|
|
**注意:** この機能を使うことで、Showdown は安全なものと信頼することになります。 |
|
|
|
**注意:** この機能を使うことで、marked は安全なものと信頼することになります。 |
|
|
|
|
|
|
|
### データモデルとの連携 |
|
|
|
|
|
|
|