React.jsのJSXの解説
前回書いたReact.jsのコードを、JSXに置き換えてみる。と書いたものの、JSXの説明で今回は完結し、次回書き直してみる。
[amazonjs asin="B01MUS2RP9″ locale="JP" title="JavaScriptエンジニアが手っ取り早くReactの基礎を理解するための「超」入門書"]
JSXって
JSXというのは、直感的にいうと「Javascriptの中にHTML(のようなもの)をそのまま記述できるようにしてくれるもの」。ただ、Javascriptに慣れていると逆に直感的にもわかりづらい。が、便利なことには間違いない。
前回、DOMを操作するときに、あくまでもJavascriptの記述方法でh1タグを挿入したりdivを挿入したりした。
render: function(){ return React.DOM.h1("タイトル"); }
これを次のように書きなおすことができる。
render: function(){ return <h1>タイトル</h1>; }
意味がわからないかもしれないが、できてしまう。これはBabel(そのうち勉強して説明するかも)を利用することで実現している。Babel的な説明をすると「コードをトランスパイルしてJavascriptのコードとして吐き出して」いるために、うまくJavascriptのコードにしてくれている。ここは使う分にはあまり意識する必要のないところだろう。
JSXの使い方
JSXの使い方は、React.jsの他にBabelを使えるようにする必要がある。具体的には次の2点だ。(CDNでの利用方法)
Babelのインポート
<!-- React.jsの読み込み --> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react.js"></script> <!-- ReactDOM.jsの読み込み --> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react-dom.js"></script> <div id="main"></div> <!-- JSXを使うためのBabelの読み込み --> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.38/browser.js"></script>
<script type="text/babel"> を指定する
<!-- type="text/babel" で指定する --> <script type="text/babel"> /* 実装を書く */ </script>
ディスカッション
コメント一覧
まだ、コメントがありません