Detta beror på att setState ändrar tillståndet och orsakar återrendering. Detta kan vara en dyr operation och att göra den synkron kan göra att webbläsaren inte svarar. Sålunda är setState-anropen asynkrona såväl som batchade för bättre UI-upplevelse och prestanda.
Varför är setState-metoden asynkron?
För att uppdatera tillståndet för en komponent använder du metoden setState. Men det är lätt att glömma att setState-metoden är asynkron, vilket gör det svårt att felsöka problem i din kod. SetState-funktionen returnerar inte heller ett löfte Att använda async/await eller något liknande kommer inte att fungera.
Kan setState göras synkront?
Det kanske låter konstigt men yes setState kan arbeta synkront i react.
Varför är det en fördröjning i setState?
Officiell förklaring. Tänk på setState() som en begäran snarare än ett omedelbart kommando för att uppdatera komponenten. För bättre upplevd prestanda kan React försena det och sedan uppdatera flera komponenter i ett enda pass. React garanterar inte att tillståndsändringarna tillämpas omedelbart.
Är React JS synkront eller asynkront?
För det första, ja, den är asynkron.