【React】Reactに入門してみる。-JSXでのコンポーネント作成まで-


急に仕事でReactなどを使うことになったのですが、先輩の丁寧な引継のお陰もあり、ひとまず軽微な修正なら出来るようになったさがっとです。こんにちは。

とはいえ、ちょっと難易度の高い修正要請がきたら途端に手が止まること請け合いなので、それまでにある程度は自分で一からサービスを構築出来るようになりたい!

ということで、次は簡単な家計簿アプリサービスを立ち上げたいと思います。

家計簿となると、セキュリティというか、そもそも他人のお金のデータなどが見えてしまうので、やる気がおきなかったんですよねぇ。

が、今回AWSのS3やLambdaなどを組み合わせたServerlessのWebサイトを作るための知識を得たので、わざわざモバイルアプリを作らなくても、

とりま、お試しで無料サイトを公開 → 本当に欲しい人は、その人専用に環境構築をする!

というスタイルなら、少しはスマホアプリぽい感じでプレゼントとか出来るんじゃないかと思ったわけですよ。(あわよくば売り・・・)

というわけで、ランニングコストを確かめる為にも実装!といきたいところですが、そもそもReactの知識が無いので、まずはそこから。

環境

  • node.js  v8.7.0
  • npm 5.6.0

nodeとnpmは事前にインストールしておく。

Reactの準備

本当は、react を始める際、 webpack や babel の設定が必要なのですが、今回はスピード重視のためFacebook公式のツールでプロジェクトを立ち上げます。

webpackや、babelを一から構築したい場合は以下サイトが分かりやすかったです↓

今回はこちらのサイトを参考↓

※1.今回はkakeiboフォルダ下で、AWSのlambda用ソースも管理したかったため、kakeiboフォルダ内にclientフォルダを作っています。最初から、「create-react-app kakeibo」でもOKです。

コレで、「client」に移動して以下コマンドを打てば、自動で「http://localhost:3000」が立ち上がります!便利!

レンダリング方法

まずは、ユーザー登録画面を作る準備をします。

Reactがどのようにhtmlをレンダリングしているのかを知りたいので、まずは、http://localhost:3000/を開いた時に表示される、pablic/index.htmlを開きます。

pablic/index.html

※1のid='root'にuser.jsコンポーネントを表示させる方法を説明します。

まず、scr/index.jsを開いて以下のように編集します。

scr/index.js

※1.ReactDOM.render()はコーポネントをHTMLに変換するメソッドで、ココでは※2で読み込んでいるRegistUserコンポーネントを、HTMLに変換します。

このindex.jsはJSXという形式で書かれています。

JSXはJavascriptの中にHTMLタグのような形でコンポーネントを直接書ける形式です。この点、Vue.jsに慣れた身としては大分抵抗感がある・・。

とりま、このままだと、当然RegistUserが無いよ!と怒られるので、

src/RegistUser.jsを新規作成します。

Reactコンポーネント作成

scr/RegistUser.js

※1.Reactコンポーネントをクラス型で宣言する場合、必ずReact.Componentクラスを継承します。

※2.render ()メソッドにこのコンポーネントの持つ要素を記述します。(return()の中に書く)

ちなみにReact.jsのJSXで定義する場合、<div>要素などのclassはclassNameで指定します(※3)

これで、ようやく、レンダリング処理が完了しました!

ガチで、入門レベルになってしまいましたが、今日はココまで!

 

 

この記事がお役に立てたら、是非シェアをお願いします^^