👻
useStateと仲良くなりたい
👤対象者
- useStateをカウンター以外で使いたい
- 簡単なものでいいから理解する。
useState
とは、Reactのstate(状態を管理する)、フックです。ただ関数かな。使う場面は、UI stateの更新ですね。画面が切り替わる。カウントされる。
/**
*
* @returns
* What is useState?
* stateと、state更新関数を返すフック
* コンポーネントないでstate管理ができる
* stateとは、UIに表示されるデータやUIの状態などアプリケーションが保持している情報(データや値)
*/
カウンターは見飽きてるので、違うものを作って理解を深める。
👻お化けを表示する
三項演算子、? :
と、boolean
型のuseState
を使って画面切り替えるロジックを作ってみました。ボタンを押してない状態の時は、「お化けいないよ」と表示されます。押すと、👻の絵文字が表示されます。
最初の状態:
ボタンを押した後の状態:
import { useState } from "react"
import styled from "styled-components"
const Goast = styled.h1`
font-size: 1.5em;
`
const ClickMe = () => {
const [show, setShow] = useState<boolean>(false);
const handleClick = () => {
setShow(prevShow => !prevShow);
}
return (
<div>
{ show ? <Goast>👻</Goast> : <p>お化けいないよ</p> }
{
show ?
<button onClick={() => handleClick()}>お化けでた笑</button>
:
<button onClick={() => handleClick()}>クリックしてね</button>
}
</div>
)
}
export default ClickMe
コードの説明をすると、ボタンをクリックすると、表示切り替えが行われるので、Toggleしてるイメージですね。trueの時は、左のコードを表示。falseのときは、右側のコードを表示します。
感想
やってみたことは、useState
による、UI Stateの更新。モダンJavaScriptの三項演算子で分岐処理をしているところですね。Reactは難しいと言われていますが、ライフサイクルを理解すれば、簡単なものを作ることはできるようになると思います。
Discussion