function Counter() {
const [count, setCount] = useState(0);
return (
<button onClick={() => {
setCount(count + 1);
setCount(count + 1);
}}>{count}</button>
);
}count = 0 iken butona bir kez tıklanıyor. Tıklamadan sonra ekranda ne görünür?- a1✓
- b2
- cNaN
- d0, değişmez
Açıklama:Her iki çağrı da
count'u aynı render'ın snapshot'ından okur; bu değer tüm event boyunca 0'dır. Yani her iki çağrı da aslında setCount(0 + 1)'dir; React aralarında fonksiyon gövdesini yeniden çalıştırmaz, sadece aynı yerine-koyma değerini iki kez planlar. Sonuç 2 değil 1'dir. Her çağrının bir öncekinin üzerine inşa edilmesini sağlayan şey updater-fonksiyon formudur (c => c + 1).