今までstateの更新はせず参照のみを行うような処理が合った場合、↓のようなコードを記述してきたのですが
javascript
1import { useEffect, useState } from "react"; 2 3export default function App() { 4 const [value, setValue] = useState(0); 5 6 useEffect(() => { 7 console.log("in useEffect", value); 8 }, [value]); 9 10 return ( 11 <div className="App"> 12 <button onClick={() => setValue(value + 1)}>increment</button> 13 </div> 14 ); 15}
↓のようなコードを見かけ、stateの更新は行っていないので再レンダリングは発生しないわけでまどろっこしいことをしたくないのだな。程度に受け止めたのですがあまり見かけることがなくなんとなく引っかかってしまいます。
javascript
1import { useEffect, useState } from "react"; 2 3export default function App() { 4 const [value, setValue] = useState(0); 5 6 console.log(value); 7 8 return ( 9 <div className="App"> 10 <button onClick={() => setValue(value + 1)}>increment</button> 11 </div> 12 ); 13}
state参照に依存した処理のコストが高ければもちろんuseEffectで囲うべきと考えています、が実際これらで不必要に処理が走る
以外の懸念点など合ったりしますでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/28 09:20