React & React Native

Stale closures

Në shqip: Closure-t e vjetruara

ShpjegimiSQ

Një funksion brenda komponentit „mban mend“ vlerat e state-it nga momenti kur u krijua. Nëse përdoret më vonë (në një setInterval ose efekt pa varësi të sakta), sheh vlera të vjetra. Zgjidhje: setX((x) => x + 1) ose varësi të sakta.

EnglishEN

A function inside a component “remembers” state values from when it was created. If it's used later (in a setInterval or an effect without the right dependencies), it sees old values. Fix: setX((x) => x + 1) or correct dependencies.

Si ta mendosh

Si një fotografi e vjetër që e beson ende si pamjen e sotme.

Lexoje në anglisht

Like an old photo you still believe shows how things are today.

Shembull kodijavascript

setInterval(() => setSek(sek + 1), 1000);   // ✗ gjithmonë 0 + 1
setInterval(() => setSek((s) => s + 1), 1000); // ✓

Terma të lidhur