Tas ir tāpēc, ka setState maina stāvokli un izraisa atkārtotu atveidošanu. Tā var būt dārga darbība, un, padarot to sinhronu, pārlūkprogramma var nereaģēt. Tādējādi setState izsaukumi ir asinhroni, kā arī grupēti, lai nodrošinātu labāku lietotāja interfeisa pieredzi un veiktspēju.
Kāpēc setState metode ir asinhrona?
Lai atjauninātu komponenta stāvokli, izmantojiet metodi setState. Tomēr ir viegli aizmirst, ka setState metode ir asinhrona, radot sarežģītas koda atkļūdošanas problēmas. Funkcija setState arī neatgriež solījumu Asinhrona/gaidīšanas vai līdzīga izmantošana nedarbosies.
Vai setState var padarīt sinhronu?
Tas var izklausīties dīvaini, bet yes setState var darboties sinhroni react.
Kāpēc setState ir aizkave?
Oficiāls skaidrojums. Padomājiet par setState() kā pieprasījumu, nevis tūlītēju komandu, lai atjauninātu komponentu. Lai labāk uztvertu veiktspēju, React var to aizkavēt un pēc tam atjaunināt vairākus komponentus vienā piegājienā. React negarantē, ka stāvokļa izmaiņas tiks piemērotas nekavējoties.
Vai React JS ir sinhrons vai asinhrons?
Pirmkārt, jā, tas ir asinhrons.