ホームページ >ウェブフロントエンド >jsチュートリアル >React の useState フックをマスターする: 基本と高度な使用例
useState フックは、React で最もよく使用されるフックの 1 つです。これにより、機能コンポーネントに状態を追加できます。フックが導入される前は、状態はクラス コンポーネント内でのみ使用できましたが、useState を使用すると、機能コンポーネント内でも状態を使用できるようになります。これにより、機能コンポーネントがより強力かつ柔軟になります。
useState は、機能コンポーネントで状態変数を宣言できるようにする関数です。 2 つの要素を含む配列を返します:
const [state, setState] = useState(initialState);
import React, { useState } from 'react'; const Counter = () => { const [count, setCount] = useState(0); // Initial state is set to 0 const increment = () => { setCount(count + 1); // Update state using the setCount function }; return ( <div> <p>Current Count: {count}</p> <button onClick={increment}>Increment</button> </div> ); }; export default Counter;
新しい状態が前の状態に依存する場合、setState に関数を渡すことができます。これにより、最新の状態値に基づいて更新が確実に行われます。
const [count, setCount] = useState(0); const increment = () => { setCount(prevCount => prevCount + 1); // Functional update to ensure accurate state updates };
コンポーネント内で useState を複数回使用して、さまざまな状態を管理できます。
import React, { useState } from 'react'; const MultiStateComponent = () => { const [count, setCount] = useState(0); const [name, setName] = useState('John'); return ( <div> <p>Count: {count}</p> <button onClick={() => setCount(count + 1)}>Increment</button> <p>Name: {name}</p> <button onClick={() => setName('Doe')}>Change Name</button> </div> ); };
初期状態が複雑であるか、計算が必要な場合は、コンポーネントが最初にレンダリングされるときにのみ実行される関数を useState に渡すことができます。
const [state, setState] = useState(initialState);
状態がオブジェクトまたは配列の場合、setState 関数は指定した状態の特定の部分のみを更新します。 React はディープ マージを実行しないため、状態オブジェクトの一部を変更する場合は、状態オブジェクト全体を明示的に更新する必要があります。
import React, { useState } from 'react'; const Counter = () => { const [count, setCount] = useState(0); // Initial state is set to 0 const increment = () => { setCount(count + 1); // Update state using the setCount function }; return ( <div> <p>Current Count: {count}</p> <button onClick={increment}>Increment</button> </div> ); }; export default Counter;
const [count, setCount] = useState(0); const increment = () => { setCount(prevCount => prevCount + 1); // Functional update to ensure accurate state updates };
import React, { useState } from 'react'; const MultiStateComponent = () => { const [count, setCount] = useState(0); const [name, setName] = useState('John'); return ( <div> <p>Count: {count}</p> <button onClick={() => setCount(count + 1)}>Increment</button> <p>Name: {name}</p> <button onClick={() => setName('Doe')}>Change Name</button> </div> ); };
useState フックは、コンポーネントの状態を管理するための React の基本的な構成要素です。これにより、機能コンポーネントが独自のローカル状態を持つことができるようになり、コードがよりモジュール化され、理解しやすくなります。 useState を使用すると、ユーザー入力またはイベントに応答する動的で対話型のコンポーネントを構築できます。
以上がReact の useState フックをマスターする: 基本と高度な使用例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。