これまで頑なにBlazeテンプレートを貫いてきたMeteorに変化の兆し。どうやらreactテンプレートを正式に採用したらしいです。今回はそのチュートリアルをやってみたいと思います。
##本家チュートリアル
http://react-in-meteor.readthedocs.org/en/latest/tutorial/
##完成品
デモ:http://reace-meteor-encodows.meteor.com/
レポジトリ:https://github.com/endows/react-meteor-example
ステップ1 HelloWorld
まずはreact + meteorでHelloworldしてみましょう。
git clone https://github.com/endows/react-meteor-example
cd react-meteor-example
git checkout hello-world
meteor
東京グールの鈴谷什造くんが覗き込んでます。ちょっとファイルを見てみましょう。
# react-meteor-example.jsx
var App = React.createClass({
render () {
return (
<div>
<img src='http://lohas.nicoseiga.jp/thumb/4521080i?'/></img>
<h1>Hello worldですぅ!!!!</h1>
</div>
);
}
});
if (Meteor.isClient) {
Meteor.startup(function () {
React.render(<App />, document.getElementById('root'));
});
}
見事にTemplate.**
がありません。美しきコード!Blazeから解放されたことを実感しますねー
ステップ2 inputとlistを表示
git checkout reactive-collection
meteor
# react-meteor-example.jsx
...
Meteor.methods({
insertTask: function (task) {
// Validate the data
check(task, {
content: String
});
// Insert into MongoDB and Minimongo
Tasks.insert(task);
}
});
...
これで入力とlist表示ができるはずです。注目すべきは、直接CollectionにinsertせずにMeteor.call()
を使っている点。この辺がFluxっぽいですよね。
##やってみた感想
正直React初心者でしたが、案外できました。Meteorパッケージはビルドやインクルードを意識しなくていいことですよね。React入門としてもよかったと思います。React使いの人には朗報なのでしょうが、自分はまだコードとビューがごちゃごちゃになったjsx記法になれません。
まずはriotあたりから慣れていこうと思います。以上、React + Meteorのチュートリアルでした。