以下のTemporary
コンポーネントは、レンダリングされるタイミングでcount
の値を出力するものです。
typescript
1import { useEffect, useState } from "react"; 2 3const Temporary: React.FC<{}> = () => { 4 const [count, setCount] = useState<number>(0); 5 console.log(count); 6 useEffect(() => { 7 (async () => { 8 setCount(1); 9 setCount(2); 10 await fetch('/'); 11 setCount(1); 12 setCount(2); 13 })(); 14 }, []); 15 return <></>; 16}; 17 18export default Temporary;
Temporary
をレンダリングすると、次の出力が得られます。
0 2 1 2
await fetch('/');
の前と後で、Temporary
がレンダリングされるタイミングが異なります。前ではsetCount(1);
を実行してもすぐにレンダリングされず、後ではsetCount(1);
を実行すると即座にレンダリングされます。これはなぜでしょうか?なぜawait
を実行する前と後でレンダリングされるタイミングが異なるのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/18 01:59