0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【JavaScript修行】初めてのReact覚書き

Posted at

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を描写するとこ)

コンポーネント作成(ES6)
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を出力できました!

続きはまた今度。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?