🖥

#React を #Codepen で始める ( フロント苦手意識の克服、あるいは愚直な試行錯誤の赤裸々な公開 )

2019/04/21に公開

ぐぐったらだいたい出てくるっしょ?

image

これこれ。

https://codepen.io/lbain/pen/ENpzBZ

HTML CSS JS の3セット

image

Js 以外は大したこと書かれていなさそうなのでしまっとく

image

js

class Button extends React.Component {
  constructor() {
    super();
    this.state = {
      count: 1,
    };
  }

  updateCount() {
    this.setState((prevState, props) => {
      return { count: prevState.count + 1 }
    });
  }

  render() {
    return (<button
              onClick={() => this.updateCount()}
            >
              Clicked {this.state.count} times
            </button>);
  }
}

React.render(<Button />, document.getElementById('app'));

Fork すると自分用のURLが割り振られて好きに使えるよ!

image
https://codepen.io/yumainaura/pen/eoKMwm?editors=0110

ボタンを押すたびカウントが増えるよね

ぽちぽち推して6まで増やしたぜ!

image
image

なんか construction が初期値とかを決めてそうだな!

count 1 って書いてあるし。
image

updateCount っていうメソッドがあるぞ!

メソッドって呼ぶの?知らんけど。

image

prevState.count に対して '+1` しているな!

render って書いてあるのがボタン表示部分だよね!

変数的なものはブレースで囲ってあるみたいだね

{this.state.count}
image

ってことはもちろん並べても書けるよね!

image

並んで increment するようになったよ!

Codepenで Save -> Run しておこう

image
image

こっちも増やしたら 3ずつ増えるようにならないかなー!

ならなかったけど今までどおり動いてるみたいだよ。謎いよね。

image

で、この最後の render ってなんなの?

HTMLの閉じみたいに見えるけど。

あと HTML 側の id に何かを全部渡してるような気もするけれど?

image

この名前変えたら、ボタンも表示されなくなるみたいだな!

もしかしてこの一番上のクラス名?

たしかに両方の名前を、てきとうに変えてみると、元通りに動くな!

HTML部品的にクラス名さえ記述するのかー! 確かに Button の際しの文字が大文字だよね。

噂通りですね react さん!

image
image

ということで

一瞬触るだけでずいぶん苦手意識が克服できるよね!

フロント開発にまよったらとりあえずググってCodepenでも触ってみると良いよね!

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/1370

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-04-21

Discussion