Reactを使ったUIコンポーネント「Material-UI」
ReactのUIコンポーネントを探しているときの覚書。
仕事ではBootstap v3を使っている。
なので、React Bootstrapにしようかと思ったけど、Reactを使う場面はアプリのようなUIがいいのではと思い、「Material-UI」を試してみることにした。
特徴(Bootstrapユーザーの目線から)
$ cd react-demo
$ npm install --save @material-ui/core @material-ui/icons
前に作ったApp.jsxを編集してみる。
$ less src/App.jsx
ビルド
$ npm run build
ちゃんとスタイルされたボタンが表示された。
スタイルを含め全部bundle.jsに出力されているみたい。
これだけでもbundle.jsは1.5Mになった。
CSSを書かなくていいのが不思議な感じ。
あとは公式のTemplatesにソースコードが公開されているので参考にする。
Rechartsというライブラリが必要なのでインストール。
$ npm install --save recharts
index.jsを編集
ビルド
$ npm run build
動いた。
bundle.jsのサイズは4M(mode=development)。
【関連記事】
仕事ではBootstap v3を使っている。
なので、React Bootstrapにしようかと思ったけど、Reactを使う場面はアプリのようなUIがいいのではと思い、「Material-UI」を試してみることにした。
特徴(Bootstrapユーザーの目線から)
- CSSがJSファイルに埋め込まれているCSS-in-JSに少し抵抗がある。参考: Webサイト開発にCSS in JavaScriptを使うのはやめよう | POSTD
→ 出来るだけ標準スタイルを利用する。独自部分は色だけ。それがマテリアルデザイン。 - React全般にいえることだけどPHPと連携しづらい
- (後日追記予定)
インストール
前の記事で作ったチュートリアル用アプリを元にして、公式サイトを参考にする。$ cd react-demo
$ npm install --save @material-ui/core @material-ui/icons
前に作ったApp.jsxを編集してみる。
$ less src/App.jsx
import React, { Component} from "react"; import Button from '@material-ui/core/Button'; //import "./App.css"; class App extends Component{ render(){ return(); } } export default App;
ビルド
$ npm run build
ちゃんとスタイルされたボタンが表示された。
スタイルを含め全部bundle.jsに出力されているみたい。
これだけでもbundle.jsは1.5Mになった。
CSSを書かなくていいのが不思議な感じ。
あとは公式のTemplatesにソースコードが公開されているので参考にする。
Dashboardサンプルを試す
Githubからgit cloneしてdashboardのディレクトリごとコピーする。Rechartsというライブラリが必要なのでインストール。
$ npm install --save recharts
index.jsを編集
import React from "react";
import ReactDOM from "react-dom";
//import App from "./App.jsx";
import Dashboard from "./dashboard/Dashboard";
ReactDOM.render(, document.getElementById("root"));
ビルド
$ npm run build
動いた。
bundle.jsのサイズは4M(mode=development)。
Ajax通信
サーバーとの通信は公式ドキュメントを参考にしながら。【関連記事】