2015年12月24日
MonacaアプリでReactを使ってみよう
最近何かと話題になっているのがReactです。フレームワークという訳ではなく、ビューのライブラリですが、DOMの状態(ステータス)を意識せずに使える点がうけています。従来のサーバサイドのようにHTMLをレンダリングすれば後はReactが処理を行ってくれるのが便利です。
今回はそんなReactをMonacaアプリ開発で使ってみます。なお、開発環境としてMonaca Localkitを使っています。
Localkitで新規プロジェクト作成
まずはMonacaアプ リの新規プロジェクトを作成します。今回は最低限のテンプレートを選択しています。
wwwの下にsrcとjsというフォルダを作成しています。srcにはReact用のjsxファイルが、jsフォルダにはjsxから変換したjsファイルが入ります。
npmで設定
必要なライブラリはnpmでそろえます。あらかじめnode.jsをインストールしておいてください。
npm init
npm install --save react react-dom babelify babel-preset-react
npm install -g browserify babelify watchify
browserifyはrequireするファイルの連結、babelifyはES6に準拠した書き方の展開、watchifyは差分ビルド用に使います。構成は次のようになります。
ファイルの作成
ではjsxファイルを作成します。www/src/index.jsxとして作成します。
var React = require('react');
var ReactDOM = require('react-dom');
ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('example')
);
そしてこのjsxファイルを変換します。
$ watchify -t [ babelify --presets [ react ] ] www/src/index.jsx -o www/js/index.js -v
666455 bytes written to www/js/index.js (1.84 seconds)
-vをつけておくと簡単なメッセージが流れますのでちゃんと動いているか確認しやすいです。
HTMLファイルの修正
続いてHTMLファイルを修正します。
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">