問題 : jsx コードについて、highlight.js を使用しようとすると、html タグが消えます。
元のソース:
<pre>
<code class="javascript">
const { Link } = ReactRouter;
App.QnAChild = React.createClass({
mixins: [Mixins.Accounts, Mixins.Utils],
render() {
let name = "";
if (this.props.user && this.props.user.name) {
name = this.props.user.name;
}
return (
<tr>
<td>
{this.props.index + 1}
</td>
<td>
<Link to={`/qna/${ this.props._id }`}
className="title-link"> {this.props.title}
</Link>
</td>
<td>
<Link to="">
{name}
</Link>
</td>
<td>
{this.momentKoreanDate(this.props.createdAt, 5)}
</td>
</tr>
)
}
});
</code>
</pre>
レンダリング ソースの後:
const { Link } = ReactRouter;
App.QnAChild = React.createClass({
mixins: [Mixins.Accounts, Mixins.Utils],
render() {
let name = "";
if (this.props.user && this.props.user.name) {
name = this.props.user.name;
}
return (
{this.props.index + 1}
{this.props.title}
{name}
{this.momentKoreanDate(this.props.createdAt, 5)}
)
}
});
$('プリコード')[0].innerHTML:
"const { Link } = ReactRouter; App.QnAChild = React.createClass({ mixins: [Mixins.Accounts, Mixins.Utils], render() { let name = ""; if (this.props.user && this.props.user.name) { name = this.props.user.name; } return ( {this.props.index + 1} <link to="{`/qna/${" this.props._id="" }`}="" classname="title-link"> {this.props.title} <link to=""> {name} {this.momentKoreanDate(this.props.createdAt, 5)} ) } }); "
なぜinnerHTMLでhtmlタグを消すのですか? innerHTMLで元のhtml文字列を取得するには?
render 後にソースを提供したいと考えています:
const { Link } = ReactRouter;
App.QnAChild = React.createClass({
mixins: [Mixins.Accounts, Mixins.Utils],
render() {
let name = "";
if (this.props.user && this.props.user.name) {
name = this.props.user.name;
}
return (
<tr>
<td>
{this.props.index + 1}
</td>
<td>
<Link to={`/qna/${ this.props._id }`}
className="title-link"> {this.props.title}
</Link>
</td>
<td>
<Link to="">
{name}
</Link>
</td>
<td>
{this.momentKoreanDate(this.props.createdAt, 5)}
</td>
</tr>
)
}
});
お待ちいただいてどうもありがとうございます :)
良い1日を!