Reactフック
バージョン16.8でフックがReactに追加されました。
フックを使用すると、関数コンポーネントは状態やその他のReact機能にアクセスできます。このため、クラスコンポーネントは通常不要になります。
フックは一般的にクラスコンポーネントを置き換えますが、Reactからクラスを削除する予定はありません。
フックとは何ですか?
フックを使用すると、状態やライフサイクルメソッドなどのReact機能に「フック」できます。
例:
これがフックの例です。意味がなくても心配しないでください。次のセクションで詳しく説明します。
import React, { useState } from "react";
import ReactDOM from "react-dom";
function FavoriteColor() {
const [color, setColor] = useState("red");
return (
<>
<h1>My favorite color is {color}!</h1>
<button
type="button"
onClick={() => setColor("blue")}
>Blue</button>
<button
type="button"
onClick={() => setColor("red")}
>Red</button>
<button
type="button"
onClick={() => setColor("pink")}
>Pink</button>
<button
type="button"
onClick={() => setColor("green")}
>Green</button>
</>
);
}
ReactDOM.render(<FavoriteColor />, document.getElementById('root'));
import
からフックする必要がありreact
ます。
ここでは、useState
フックを使用してアプリケーションの状態を追跡しています。
状態とは、通常、追跡する必要のあるアプリケーションデータまたはプロパティを指します。
フックルール
フックには3つのルールがあります。
- フックは、React関数コンポーネント内でのみ呼び出すことができます。
- フックは、コンポーネントのトップレベルでのみ呼び出すことができます。
- フックは条件付きにすることはできません
注:フックはReactクラスコンポーネントでは機能しません。
カスタムフック
複数のコンポーネントで再利用する必要があるステートフルロジックがある場合は、独自のカスタムフックを作成できます。
カスタムフックのセクションで詳しく説明します。