[React] useState
useStateはカウンタの例です
App.js
import "./styles.css";
import Counter from "./counter";
function App() {
return <Counter />;
}
export default App;
Counter.js
import React from "react";
function Counter() {
return (
<div>
<h1>0</h1>
<button>+1</button>
<button>-1</button>
</div>
);
}
export default Counter;
今のボタンを押しても何の役にも立たない.
これをステータスに変換し、hooksのusStateを使用して変更して、ボタンを押すたびに現在表示されている値を変更します.
import React, { useState } from "react";
function Counter() {
const [number, setNumber] = useState(0);
const increase = () => {
setNumber(number + 1);
};
const decrease = () => {
setNumber(number - 1);
};
return (
<div>
<h1>{number}</h1>
<button onClick={increase}>+1</button>
<button onClick={decrease}>-1</button>
</div>
);
}
export default Counter;
終わりました.本当に簡単ですね...ステータスの初期値は、importで
{ useState }
を使用してconst [number, setNumber] = useState(0);
によって決定され、関数でステータス値を更新することができる.コンポーネントパフォーマンス最適化ロジック
import React, { useState } from "react";
function Counter() {
const [number, setNumber] = useState(0);
const increase = () => {
setNumber((prevNumber) => prevNumber + 1);
};
const decrease = () => {
setNumber((prevNumber) => prevNumber - 1);
};
return (
<div>
<h1>{number}</h1>
<button onClick={increase}>+1</button>
<button onClick={decrease}>-1</button>
</div>
);
}
export default Counter;
最適化素子性能とは何かは不明であるが,関数で状態更新を行う場合,setNumber(number + 1)
よりも上に書くのが有効である.結果値は同じです.
Reference
この問題について([React] useState), 我々は、より多くの情報をここで見つけました https://velog.io/@mihyun0416/React-useStateテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol