Dzieje się tak, ponieważ setState zmienia stan i powoduje renderowanie. Może to być kosztowna operacja, a synchronizacja może spowodować, że przeglądarka przestanie odpowiadać. W ten sposób wywołania setState są asynchroniczne, a także grupowane w celu zapewnienia lepszego interfejsu użytkownika i wydajności.
Dlaczego metoda setState jest asynchroniczna?
Aby zaktualizować stan komponentu, użyj metody setState. Jednak łatwo jest zapomnieć, że metoda setState jest asynchroniczna, co powoduje problemy z debugowaniem w kodzie. Funkcja setState również nie zwraca obietnicy Używanie async/await lub czegoś podobnego nie będzie działać.
Czy funkcja setState może być synchroniczna?
To może zabrzmieć dziwnie, ale tak setState może działać synchronicznie w reakcji.
Dlaczego występuje opóźnienie w funkcji setState?
Oficjalne wyjaśnienie. Pomyśl o setState() jako o żądaniu, a nie o natychmiastowym poleceniu aktualizacji komponentu. Aby uzyskać lepszą postrzeganą wydajność, React może ją opóźnić, a następnie zaktualizować kilka komponentów w jednym przebiegu. React nie gwarantuje, że zmiany stanu zostaną zastosowane natychmiast.
Czy React JS jest synchroniczny czy asynchroniczny?
Po pierwsze, tak, jest asynchroniczny.