useState funkcijski komponenti daje kos lokalnega, reaktivnega stanja. Vrne par: trenutno vrednost in funkcijo setter. Klicanje setter-ja načrtuje ponovno upodobitev z novo vrednostjo.
[count, setCount] = ();
(count + );
( c + );
useState funkcijski komponenti daje kos lokalnega, reaktivnega stanja. Vrne par: trenutno vrednost in funkcijo setter. Klicanje setter-ja načrtuje ponovno upodobitev z novo vrednostjo.
[count, setCount] = ();
(count + );
( c + );
Knjižnica IT vprašanj za razgovore s podrobnimi odgovori — od začetnika do izkušenega.
Doniraj1. Posodobitve so asinkrone / grupne. count se ne spremeni v vrstici po setCount; ima novo vrednost pri naslednji upodobitvi. Torej se to poveča samo enkrat:
setCount(count + 1);
setCount(count + 1); // both read the SAME stale `count` → +1 total
Uporabite functional updater, ko je naslednja vrednost odvisna od prejšnje, ker React posreduje najnovejšo vrednost:
setCount(c => c + 1);
setCount(c => c + 1); // +2 total — each gets the up-to-date value
2. Začetna vrednost se uporablja samo pri prvi upodobitvi. Za drago privzeto vrednost posredujte funkcijo, da se izvede enkrat (leno inicializacijo):
const [data] = useState(() => expensiveInit()); // runs once, not every render
Stanje je tisto, kar naredi komponento interaktivno — React ponovno zažene funkcijo in ponovno upodobiti uporabniški vmesnik vsakič, ko se stanje spremeni.
Obravnavajte stanje kot nespremenljivo: namesto mutiranja ustvarite novo matrico/objekt, npr. setItems([...items, x]), sicer React morda ne bo zaznal spremembe.