useState inatoa sehemu ya local, reactive state kwa kijenzi cha function. Inarudisha jozi: thamani ya sasa na setter function. Kuita setter hukagua upya-render na thamani mpya.
[count, setCount] = ();
(count + );
( c + );
useState inatoa sehemu ya local, reactive state kwa kijenzi cha function. Inarudisha jozi: thamani ya sasa na setter function. Kuita setter hukagua upya-render na thamani mpya.
[count, setCount] = ();
(count + );
( c + );
1. Updates ni asynchronous / batched. count haibadiliki kwenye mstari baada ya setCount; ina thamani mpya kwenye next render. Kwa hivyo hii inakuza mara moja tu:
setCount(count + 1);
setCount(count + 1); // both read the SAME stale `count` → +1 total
Tumia functional updater wakati thamani ijayo inategemea ile iliyopita, kwa sababu React inapitisha thamani ya hivi karibuni:
setCount(c => c + 1);
setCount(c => c + 1); // +2 total — each gets the up-to-date value
2. Thamani ya awali inatumiwa tu kwenye render ya kwanza. Kwa default ya ghali, pita function ili iendeshwe mara moja (lazy init):
const [data] = useState(() => expensiveInit()); // runs once, not every render
State ndilo linalotengeneza kijenzi kuwa interactive — React inakimbia upya function na kutengeneza upya UI wakati state inabadilika.
Tikisha state kama immutable: tengeneza array/object mpya badala ya kumuta, k.m. setItems([...items, x]), vinginevyo React inaweza kutodetect mabadiliko.