【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

【React】useStateの基本的な使い方

本記事では、ReactのuseStateの基本的な使い方について解説しています。

Reactの学習におすすめ書籍
モダンJavaScriptの基本から始める React実践の教科書
総合評価
( 5 )
メリット
  • JavaScriptの基礎から始めてReactの機能を一通り学べる
  • 実務で必要となる知識を意識しながら学習を進められる
  • 現場のシチュエーションベースのストーリーで技術解説
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

useStateの使い方

下記のコードはuseStateを使って、ボタンをクリックすると1ずつインクリメントされた数値が表示されるプログラムです。

import { useState } from "react";

function App() {
  const [count, setCount] = useState(0);
  const increment = () => setCount(count + 1);
  return (
    <>
      <p>カウンター:{count}</p>
      <button onClick={increment}>+1</button>
    </>
  );
}

export default App;

ここで注目してほしいポイントは、「import { useState } from “react”;」「const [count, setCount] = useState(0);」「setCount(count + 1);」の3つです。それぞれ詳しく見ていきましょう。

import { useState } from “react”;

import { useState } from "react";

useStateはreact機能の一つなのでimportをしないと使用することは出来ません。もし、importせずにuseStateを使用すると「Uncaught ReferenceError: useState is not defined」とエラーが表示されます。

const [count, setCount] = useState(0);

const [count, setCount] = useState(0);

上記のコードを説明しやすいよう更に分解します。

useState(0);

useStateの引数には初期値を設定することが出来ます。上記のコードでは数値をインクリメントさせるため0を指定していますが、文字列やBoolean(true/false)なども値も指定することが出来ます。もし、初期値を指定しなかった場合はundefinedがセットされます。

[count, setCount]

これは配列の分割代入です。useStateは配列の0番目に初期値で設定した値を、配列の1番目に0番目に代入されている値を更新する時に必要な関数を返します。

サンプルコードの場合、変数countには初期値で設定した0が代入され、変数setCountには変数countの値を更新する時に必要な関数が代入されています。

setCount(count + 1);

setCount(count + 1);

このコードでは変数countの値に1を足しています。通常のJavaScriptでは「count = count + 1」「count++」などで数値を足しますが、useStateで渡された変数の値を更新する時は必ず分割代入の2つ目に渡された関数を使用します。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次