3)シンプルなコンポーネントを作る
それでは、JSX を使ってコンポーネントを作ってみましょう。
まずは一番簡単な例です。Hello Worldと描画するコンポーネントを作成します。src/main/jsx/client.jsx
を以下のように書き換えてください。
var React = require'react';var HelloMessage = ReactcreateClassreturn <div>Hello World</div>;;Reactrender<HelloMessage/> documentgetElementById'react-container';
その後、テンプレートのルートディレクトリで、gulp
と実行してください。
gulp
ブラウザでhttp://localhost:8080にアクセスすると、Hello Worldが表示されます。
次に、もう少し複雑なテーブルを表示してみましょう。 src/main/jsx/client.jsx
を以下のように書き換えてください。
var React = require'react';var HelloMessage = ReactcreateClassreturn<table><tr><th>ビルドツール</th><th>モジュールバンドラー</th></tr><tr><td>gulp</td><td>webpack</td></tr><tr><td>Grunt</td><td>browserify</td></tr></table>;;Reactrender<HelloMessage/> documentgetElementById'react-container';
先ほどのgulp
コマンドをCTRL + c
で停止していなければ、すでにブラウザがリロードされ、下のような表示になっています。
ここまでくれば、なんとなくJSX の動作はわかってきたのではないでしょうか。React.createClass
を利用してコンポーネントを定義し、React.render
を利用して定義したクラスを描画します。
なお、テンプレートで定義しているgulpは次のことを行ってくれます。
また、renderメソッドを作成する際、renderメソッドの戻り値は必ず一つの要素でなければいけません。つまり
return<div>Hello World</div>;<div>Hello World</div>;;
とすることはできません。代わりにdivタグで包んで下記のようにする必要があります。
return<div><div>Hello World</div>;<div>Hello World</div>;</div>;