node.jsで色々とインストールするのが面倒なので、コピペOKなCDN(ライブラリURL指定)でreactを学んでみる。

node.jsで色々とインストールするのが面倒なので、コピペOKなCDN(ライブラリURL指定)でreactを学んでみる。

0, とりあえず、hello,world

1, コンポーネント(部品化)とプロップス(状態の保持)の簡単なreactサンプル

コンポーネントが関数で、タグで定義された所でコールされる
プロップスが関数の引数、タグの属性が使われる。

Appのタグの形で、App関数をコールするのって変な感じ。
クォーテーションで囲まなくてもいいいんだ。

functionで関数test()を定義して、タグと記述すると、コールされるのね。
さらに、test(props)と定義すると、タグみたいに引数を渡せて、関数内で{props.order}で利用できる。

reactコンポーネントの名前は、必ず頭文字が大文字でないと駄目!
これはReactがコンポーネントとHTMLタグを区別するためのルールです。
逆も言うと、htmlタグは必ず小文字じゃないと、reactコンポーネントと解釈される。

2. コンポーネントの状態(State)とイベント処理(ボタンを押されたらonClickで関数コール)

1, Counterタグで、Counter関数をコール
2, React.useState(0)で初期値を0に指定。useStateフックという機能を使って、状態を変化させる関数setCountと、値を保持する変数countを設定
3, increment関数で、count+1
4, イベント処理(ボタンを押されたらonClickでincrement関数をコール)

3. ライフサイクルメソッド
コンポーネント(部品)の初期化→表示→更新→削除(非表示)のそれぞれのタイミングで関数コールできるので、それぞれの処理を追加してね

constructor: コンポーネントが作成されるときに最初に呼ばれます。状態の初期設定やプロパティのバインディングに使用されます。
マウンティング(表示)のフェーズ

componentDidMount: コンポーネントがDOMに挿入された後に呼ばれます。APIからデータをフェッチしたり、他のJavaScriptフレームワークやライブラリとのインテグレーションを行ったりするのに適しています。
アップデートのフェーズ

componentDidUpdate: コンポーネントが更新された後に呼ばれます。新しいプロップスや状態に基づいて必要なDOMのアップデートを行ったり、追加のリクエストを行うことができます。
アンマウンティング(削除/非表示)のフェーズ

componentWillUnmount: コンポーネントがDOMから削除される直前に呼ばれます。ここで、イベントリスナーの解除やタイマーのクリアなど、クリーンアップを行うことが重要です。

5. 条件付きレンダリング
特定の条件に基づいて異なるコンポーネントを表示する方法です。
メッセージが表示されていなければ表示ボタン
表示されていたら、隠すボタン

6. リストとキー
いわゆる配列だけど、キーで更新状態・再描写を把握している?

7. フック(Hooks)
なにかが起こったら、自動的にコールされる関数の仕組み
State Hooks: ユーザーの入力情報を記録する
Effect Hooks: 外部システムとの同期、イベントリスナ
Context Hooks: 親の変数を子コンポーネントで受け取る
Ref Hooks: レンダリングに使用しない情報を記録
Performance Hooks: 再レンダリングのパフォーマンス最適化
Other Hooks: ライブラリ開発時に利用されるHooks
Your own Hooks: 独自定義によるカスタムフック