Reactってなんか凄いらしい。
そして難しいらしい。
概念だけでも掴みたく今日もお勉強です。
さらっと覚書きで行きます。
##Reactって?
Facebookが作ったjsのライブラリ。
- UI作成にむっちゃ強い!
- コンポーネント思考
- DOMを自由自在に操る!
始めるにはNode.jsが必須。
https://qiita.com/kuniken/items/19fccc27b8bfa8068d22
この辺を参考に。
npm install react --save
これをターミナルに打ち込みインストール!
##React書いてみよう
https://uxmilk.jp/43555
https://webkikaku.co.jp/blog/javascript/react-start/
https://qiita.com/morrr/items/c32a4916d55373b64c70
この辺をがっつりみつつ。
React,HTML風にかけるらしい。
→JSX
っていう名称の書き方(Javascript XML)
<h1>{hello}<h1>
{}
で書かれた部分はJavascirptとして扱われる!
HTMLと違う属性名注意!!
- class→className
- for→htmlFor
🐳< どれがどのDOM!?って混乱しなくてみやすい気がする。凄い
例としてリストを作ってみましょう。
const happySet = ['ハンバーガー','ジュース','ポテト','おもちゃ']
<ul className="happySet">
{happySet.map(item => <li>(item)</li>)}
</ul>
これによって以下が生み出されますね。
[
<li>{'ハンバーガー'}<li>,
<li>{'ジュース'}</li>,
<li>{'ポテト'}</li>,
<li>{'おもちゃ'}</li>,
];
##コンポーネントの作り方
コンポーネントの作り方は二種類!
-
React.createClass()
に対してオブジェクトを渡す(ES5) -
React.Component
クラス継承済みのクラスを定義!
絶対必要なrender
~>DOMをレンダリングするとこ(HTMLを描写するとこ)
class greeting extends React.Component{
render(){
return (<div>Hello</div>);
}
}
HelloをinnerHTML
にもつdivを作る部品です!
大事な概念:props
,state
##出力はどうやるの?
ReactDOM.render(
<div>hello</div>,
document.querySelector('body')
)
ReactDOM.render
を使って、
出力するDOM
,出力先
の順で指定します。
これでhtml内にhelloを出力できました!
続きはまた今度。