【React】useStateの使い方~カウントアップ機能を作ってみよう!~

React
出典:https://www.photo-ac.com/main/detail/4960474?title=%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%81%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%83%9E%E3%83%BC%E3%82%AF%20%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9&searchId=2724798446
この記事で分かること
  • useStateとは何か
  • useStateの使い方
  • useStateを使ったシンプルな例

React Hookを学ぶにあたって、まず一番最初に理解すべきなのがuseStateです。

この記事ではReactのuseStateがよく分かっていない人に向けて、シンプルな例を使ってuseStateの使い方を解説しています。

ぜひ参考にしてみてください!

ReactのuseStateとは

ReactのuseStateとは、関数コンポーネントでstateを管理するためのReactフックです。

例えば、inputで入力した文字をコンポーネント内で保持したい場合などにuseStateが役に立ちます。

クローバー
クローバー

クラスを書かずに関数コンポーネントでも、クラスコンポーネントのstateと同じことが出来るよ!

ざっくり用語チェック

stateとは…
コンポーネント利用時に設定出来る値のこと。後から変更が可能。

フックとは…
React16.8で追加された新機能。関数コンポーネントで色々出来るようになった。

山田さん
山田さん

ちょっと難しいわ…

クローバー
クローバー

実際に使いながら理解していこう!

ReactのuseStateの使い方

useStateを利用するには、useStateをimportしなければいけません。

import React, { useState } from 'react';

次にコンポーネント内で状態管理を行いたい変数をuseStateで宣言します。

useStateを宣言する型は以下の通りです。

const [変数, メソッド] = useState(初期値);

今回は参考例としてcountという変数とsetCountというメソッド。初期値は0としてみます。

const [count, setCount] = useState(0);
クローバー
クローバー

初期値がいらない場合は初期値の部分は空にしてね!

上記のような設定を行うことで、コンポーネント内で{ count }を記入するだけでcountの現在値を表示させることが出来ます。

import React, { useState } from 'react';

const Test = () => {

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

  return (
    <>
      <h1>現在の値は{ count }です</h1>
    </>
  );
}

export default Test;

上記のようなコードを書いてみると以下の画像のような画面が出来上がります。

出典:投稿者作成

countの値を更新する

山田さん
山田さん

ちなみにuseStateの宣言時に書いたsetCountメソッドっていつ使うの?

クローバー
クローバー

countの値を更新したい時に利用するよ!

useStateを宣言した時に定義したメソッドは変数の値を変更したい時に利用します。

値を変更する際の基本の型は以下の通りです。

メソッド(処理させたい内容);

例えば、ボタンを押すと1を足したり、引いたりする機能を実際に作ってみます。

import React, { useState } from 'react';

const Test = () => {

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

  const increment = () =>{
    setCount(count + 1);
  };
  coust decrement = () => {
    setCount(count - 1);
  }

  return (
    <>
      <h1>現在の値は{ count }です</h1>
      <button onClick={increment}>+</button>
      <button onClick={decrement}>-</button>
    </>
  );
}

export default Test;

上記のコードを実行すると以下のような画面が出来ます。

出典:投稿者作成
山田さん
山田さん

なるほど!useStateをこうやって使えば、値の変更や保持が簡単に出来るのね!

クローバー
クローバー

理解が出来てよかったよ!

まとめ

今回はReactのuseStateについてシンプルな例を通して解説しました。

useStateを利用すれば、関数コンポーネント内で値を保持したり、変更したり出来る変数を作成することが出来ます。

利用方法もコンポーネント内でuseStateをインポートと定義するだけで簡単なので、ぜひuseStateを使いこなしてみてください!

コメント

  1. whoiscall より:

    Thanks!