React.js 公式ページ(http://facebook.github.io/react/index.html) なぞり 03 Tutorial2
<!DOCTYPE html>
<html>
<head>
<title>Hello React</title>
<script src="https://fb.me/react-0.12.2.js"></script>
<script src="https://fb.me/JSXTransformer-0.12.2.js"></script>
<script src="https://code.jquery.com/jquery-1.10.0.min.js"></script>
</head>
<body>
<div id="content"></div>
<script src="components.js" type="text/jsx"></script>
</body>
</html>
// ComponentList
var CommentList = React.createClass({
render: function() {
return (
<div className="commentList">
Hello, world! I am a CommentList.
</div>
);
}
});
// ComponentForm
var CommentForm = React.createClass({
render: function() {
return (
<div className="commentForm">
Hello, world! I am a CommentForm.
</div>
);
}
});
// Compornentを組み合わせる。
var CommentBox = React.createClass({
render: function() {
return (
<div className="commentBox">
<h1>Comments</h1>
<CommentList />
<CommentForm />
</div>
);
}
});
// 組み合わせたComponentを描画。
// 以下のようなHTMLを生成
/*
<div id="content">
<div class="commentBox" data-reactid=".0">
<h1 data-reactid=".0.0">Comments</h1>
<div class="commentList" data-reactid=".0.1">Hello, world! I am a CommentList.</div>
<div class="commentForm" data-reactid=".0.2">Hello, world! I am a CommentForm.</div>
</div>
</div>
*/
React.render(
<CommentBox />,
document.getElementById('content')
);
Facebookなどのコメントボックスインターフェース(見る、投稿、バックエンド連携)を作る。以下の構造を再現するチュートリアル。
- CommentBox
- CommentList
- Comment
- CommentForm