React の usestate フックの紹介
3277 ワード
React を使用している場合は、state と props の概念があることを知っている必要があります.クラス コンポーネントに状態を非常に簡単に追加できますが、機能コンポーネントに状態を追加するには、usestate フックを使用する必要があります.
これは、公式の反応ドキュメントからの引用です.
フックを使用すると、基本的に、クラスで使用できるメソッドを機能コンポーネントで使用できます.フックにはいくつかのルールもありますが、これについては後で説明します.
今のところ、フックは関数コンポーネントで使用するクラス コンポーネントで記述できるコードを記述できるユーティリティ関数であると考えてください.
useState フックでは、関数をインポートして呼び出すだけです
ご覧のとおり、useState フックは initalCounter をパラメーターとして受け取ります.
この関数の出力は、最初の項目が状態自体のリストになり、2 番目の項目が状態を変更する関数になります.したがって、 object destructuring を使用できます.
このような
これで、プロジェクトでこのカウンターを使用できます.
現在、状態を操作するために使用できる setState 関数があります.パラメータとして別の関数を取り、その関数が状態を変更します.
この関数は prevstate をパラメーターとして受け取ることができますが、これはオプションです.
上記のコードでわかるように、setCounter 関数は別の関数を受け取り、別の関数が新しい状態になる値を返します.
フックには、次のようないくつかのルールもあります.
条件付きでフックを呼び出すことはできません フックは、レンダリングのたびに同じ順序で呼び出す必要があります.
これは、react フックを使用した基本的なカウンター アプリケーションのコードサンドボックスです.
フックとは?
Hooks are a new addition in React 16.8. They let you use state and other React features without writing a class.
これは、公式の反応ドキュメントからの引用です.
フックを使用すると、基本的に、クラスで使用できるメソッドを機能コンポーネントで使用できます.フックにはいくつかのルールもありますが、これについては後で説明します.
今のところ、フックは関数コンポーネントで使用するクラス コンポーネントで記述できるコードを記述できるユーティリティ関数であると考えてください.
useState フック
useState フックでは、関数をインポートして呼び出すだけです
import React, {useState} from 'react'
const App = () => {
const initialCounter = 0
const hookhere = useState(initialCounter)
console.log(hookhere)
return (<></>)
}
ご覧のとおり、useState フックは initalCounter をパラメーターとして受け取ります.
この関数の出力は、最初の項目が状態自体のリストになり、2 番目の項目が状態を変更する関数になります.したがって、 object destructuring を使用できます.
このような
const [counter, setCounter] = useState(initialCounter)
これで、プロジェクトでこのカウンターを使用できます.
状態の操作
現在、状態を操作するために使用できる setState 関数があります.パラメータとして別の関数を取り、その関数が状態を変更します.
この関数は prevstate をパラメーターとして受け取ることができますが、これはオプションです.
setCounter((prevstate)=> {return prevstate + 1})
上記のコードでわかるように、setCounter 関数は別の関数を受け取り、別の関数が新しい状態になる値を返します.
フックのルール
フックには、次のようないくつかのルールもあります.
これは、react フックを使用した基本的なカウンター アプリケーションのコードサンドボックスです.
Reference
この問題について(React の usestate フックの紹介), 我々は、より多くの情報をここで見つけました https://dev.to/ishanpro/an-introduction-to-react-s-usestate-hook-243eテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol