【React】useStateフックの基本
state
とは
一言でいうと、state
とは値が変わると再レンダリングが起こる変数です。
細かいことは抜きにするとstate
の値が変わると再レンダリングが起こり画面の表示が変わります。
さっそく、実際の挙動について説明していきます。
今回は公式ドキュメントのサンプルコードを元に説明していきます。
サンプルコード
下記がサンプルコードになります。
ボタンを押すとカウンターの値が増加される機能のコードです。
流れとしては下記になります。
1.state
を使えるようにする
2.state
を定義
3.state
の値を変えてみる
import React, { useState } from 'react';
function Example() {
// state "count"の定義
const [count, setCount] = useState(0);
return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>
Click me
</button>
</div>
);
}
state
を使えるようにする
1.まずはstate
を使えるようにします。state
を使うためにはReact
のuseStateフック
というものが必要になります。それを読み込みましょう。
import React, { useState } from 'react';
上記のコードでuseStateフック
を React からインポートします。
2.stateを定義
次に、1. でインポートしたuseStateフック
を使ってstate
を定義します。
const [count, setCount] = useState(0);
useStateフック
を使って新しいstate
を定義します。useStateフック
の引数に新しく定義するstate
の初期値を渡します。そして、useStateフック
は2 つの値のペアが返すので、それらに任意で好きな名前を与えます。1つ目がstate
の値、2つ目がstate
の値を変えるための関数になります。
上記のコードの場合は初期値が0
のcount
というstate
とそのstate
の値を変えるための関数setCount
になります。慣習的にuseState
の返りの関数にはset(state名)
と命名する場合が多いです。
3.stateの値を変えてみる
次に、2. で定義したsetCount
を使ってcount
の値を変えてみましょう。
<button onClick={() => setCount(count + 1)}>
Click me
</button>
setCount
の引数に値を渡すことでペアのstate
のcount
の値が変わります。
上記のコードではボタンをクリックすると、setCount
にcount + 1
の値が渡されるのでcount
の値が+1されます。そして、記事の冒頭で言った通りstateは値が変わると再レンダリングが起こるので再レンダリングが起こり画面が更新されてcount
の値が+1された画面になります。
以上です。読んでいただきありがとうございました。
誤字、脱字、間違い等ありましたらコメント頂ければ幸いです。
Discussion