useStateの公式ドキュメントを読み、自分なりにまとめておきます。
また、実際にサイト構築する際にも使用したのでその時のコードを例に理解を深めたいと思います。
目次
useStateとは
useState
とは、コンポーネントにstate変数を追加するためのReactフックになります。
状態管理を行うことができ、非常に使用頻度の高いフックになります。
基本の形
const [state, setState] = useState(initialState)
state
が状態変数で、setState
が更新関数になります。
- 状態変数
- 現在の値を保持する
- 更新関数
- インタラクション(inputのチェンジイベントetc)に応じて、新しい値を受け取り現在の値を更新する
実際に使ってみた
実際にサイト構築を「Next.js×WordPress」で行った時に、useState
を使う場面がありました。
シンプルなトグルですね。今回は下記のように実装しました。
import { useState } from 'react';
export default function ToggleMenuExample() {
// useStateを使用して、showMenu状態(boolean)を管理します。
const [showMenu, setShowMenu] = useState(false)
return (
<div className='menu-container'>
<button onClick={() => setShowMenu(!showMenu)}>
<Image src='icon.svg' />
</button>
{showMenu && <Menu />}
</div>
);
}
useState(false)
によってshowMenu
が初期値false
で設定されています。setShowMenu
はこの状態を更新する関数です。ボタンがクリックされると、setShowMenu
関数が呼ばれ、showMenu
の値がトグルされます(true⇔false)。この状態によって、メニューが表示されるか隠されるかが決まります。
まとめ
過去にこんな記事も書いておりました。
ここではもう少し複雑な実装で説明をしていたのでよければどうぞ。