反応USENTフック
5083 ワード
我々が記事の核心に入る前に、反応フックのあたりの若干の重要な詳細について行きましょう.
フックは反応版16.8で導入されました.フックは、ユーザーが関数コンポーネントの状態とLifeCycleメソッドにアクセスできるようにする関数です.フックが反応して導入される前に
フックは機能部品でのみ使用できます. フックは、内部のように条件でありえません フックはコンポーネントのトップレベルでのみ呼び出さなければなりません.
インポートUSENTフック AS
初期化方法
ここで再び戻り値を破壊します.
“Count”は現在の状態です. “setCount”は、状態を更新するために使用される関数です.
最後に、フックに初期状態を与えます
州の読み方 最初の戻り値は状態の値になります.我々は、コンポーネントをどこでも状態を読むためにそれを使用することができます.
州更新方法 この関数は、
上記のセクションで、我々は州で番号を更新する方法を議論しました
コンポーネントの状態が更新されると、コンポーネントの全状態が完全に上書きされます.ただし、状態でオブジェクトを使用している間、オブジェクトの特定のプロパティを更新し、残りのプロパティを変更しないでください.
状態更新が完全に状態から以前の値を使用せずに前の状態に代わる方法を見ましょう.
ここでは機能
上記の関数とは異なり
それはこのブログのためのすべてです.この反応フックシリーズは、反応フックについての詳細をご覧ください.次のブログでは、「use effect」フックを見てみましょう.
以下のコメントであなたの貴重なフィードバックを残してお気軽に.
反応、JavaScript、およびWeb開発の詳細については、私に従ってください.
参考:w 3スクール
フックは何ですか。
フックは反応版16.8で導入されました.フックは、ユーザーが関数コンポーネントの状態とLifeCycleメソッドにアクセスできるようにする関数です.フックが反応して導入される前に
class
コンポーネントは、状態とライフサイクルメソッドにアクセスする唯一のオプションです.たとえclass
コンポーネントはもはや必要ありません、彼らはまだ若干の遺産コードで見つかります.There are no plans to remove classes from React — we all need to keep shipping products and can’t afford rewrites. We recommend trying Hooks in new code. React doc
フックの使用規則
if...else
, switch
文.反応USENTフック
useState
フックは、コンポーネントのレンダリングの間のコンポーネントの情報を追跡することができますこのような情報は、コンポーネントの状態と呼ばれます.状態は、関数内で宣言された変数の値のようです.USENTの使い方
useState
フックは我々が簡単に反応から破壊することによってそれをインポートすることができます反応ライブラリ内の名前のエクスポートです.import {useState} from "react"
useState
フックuseState
フックは、コンポーネントの先頭に、コンポーネントコンポーネントを呼び出して初期化されます.ここで再び戻り値を破壊します.
const Counter = () => {
const [count , setCount ] = useState(0)
}
二つの値を返します.Common naming convention for the
useState
hook is:[ variable , setVariable ] = useState()
Here "variable" can be anything.
最後に、フックに初期状態を与えます
object
, string
, number
, array
, boolean
, またはこれらの任意の組み合わせ.我々の場合ではnumber
.Initial state = useState(0)
const Counter = () => {
const [count , setCount ] = useState(0)
return (
<h1> Current value is {count} </h1>
)}
useState
この場合フックsetCount
.Note: Never update the state directly. Example: count= 25 .
function increaseCount(){
setCount( prevValue => prevValue+1 )
}
上記のすべてのコードスニペットを組み合わせて、次のCodesandBoxを取得します.チェックするApp.js
次のコードファイルのファイル.状態のオブジェクトを更新する
上記のセクションで、我々は州で番号を更新する方法を議論しました
useState
は使えますobject
, string
, number
, array
, boolean
, または状態として、これらの任意の組み合わせ.だから今、次の点で、我々はどのように状態のオブジェクトを更新する方法を学びますか?コンポーネントの状態が更新されると、コンポーネントの全状態が完全に上書きされます.ただし、状態でオブジェクトを使用している間、オブジェクトの特定のプロパティを更新し、残りのプロパティを変更しないでください.
状態更新が完全に状態から以前の値を使用せずに前の状態に代わる方法を見ましょう.
ここでは機能
withoutPrevious
我々は更新lastName
へのプロパティー. function User() {
// Update without prev values
const [user, setUser] = useState({
firstName: "Vansh",
lastName: "Sharma",
city: "Delhi"
});
// Function to update without prev value
const withoutPrevious = () => {
setUser((prev) => {
return { lastName: "Bhardwaj" };
});
};
return (
<div className="App">
<h3>
I am {user.firstName} {user.lastName} from {user.city}.
</h3>
<button onClick={withoutPrevious}>
Update last name without previous values.
</button>
}
// Original I am Vansh Sharma from Delhi.
// Output I am Bhardwaj from.
オブジェクトの特定のプロパティだけを更新し、他のすべてのプロパティの実際の値を保持する方法を見てみましょう.上記の関数とは異なり
lastName
機能上withPrevious
スプレッド演算子を使用して、以前の値を新しい状態に広げ、lastName
プロパティ.function User() {
// Update with prev values
const [user1, setUser1] = useState({
firstName: "Vansh",
lastName: "Sharma",
city: "Delhi"
});
// Function to update with prev values
const withPrevious = () => {
setUser1((prev) => {
return { ...prev, lastName: "Bhardwaj" };
});
};
return (
<div className="App">
I am {user1.firstName} {user1.lastName} from {user1.city}.
</h3>
<button onClick={withPrevious}>
Update last name with previous values.
</button>
</div>
);
}
// Original I am Vansh Sharma from Delhi.
// Output I am Vansh Bhardwaj from Delhi.
上記のコードのCodesandBoxをチェックしてください.チェックアウトApp.js
次のコード表示ボックスのファイル.それはこのブログのためのすべてです.この反応フックシリーズは、反応フックについての詳細をご覧ください.次のブログでは、「use effect」フックを見てみましょう.
以下のコメントであなたの貴重なフィードバックを残してお気軽に.
反応、JavaScript、およびWeb開発の詳細については、私に従ってください.
参考:w 3スクール
Reference
この問題について(反応USENTフック), 我々は、より多くの情報をここで見つけました https://dev.to/vanshsh/react-usestate-hook-1jcfテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol