ეს იმიტომ, რომ setState ცვლის მდგომარეობას და იწვევსრენდერირებას. ეს შეიძლება იყოს ძვირადღირებული ოპერაცია და მისი სინქრონული ქცევა შესაძლოა ბრაუზერს არ უპასუხოს. ამრიგად, setState ზარები არის ასინქრონული და ასევე ჯგუფური ინტერფეისის უკეთესი გამოცდილებისა და მუშაობისთვის.
რატომ არის setState მეთოდი ასინქრონული?
კომპონენტის მდგომარეობის გასაახლებლად, იყენებთ setState მეთოდს. თუმცა ადვილია დავივიწყოთ, რომ setState მეთოდი ასინქრონულია, რაც იწვევს თქვენს კოდში პრობლემების გამართვას. setState ფუნქცია ასევე არ აბრუნებს დაპირებას ასინქრონიზაციის/მოლოდინის ან რაიმე მსგავსის გამოყენება არ იმუშავებს.
შეიძლება setState გახდეს სინქრონული?
შეიძლება უცნაურად ჟღერდეს, მაგრამ დიახ, setState-ს შეუძლია სინქრონულად იმუშაოს react-ში.
რატომ არის შეფერხება setState?
ოფიციალური განმარტება. იფიქრეთ setState()-ზე, როგორც მოთხოვნაზე და არა უშუალო ბრძანებაზე კომპონენტის განახლებისთვის. უკეთესად აღქმული ეფექტურობისთვის, React-მა შეიძლება შეაფერხოს ის და შემდეგ განაახლოს რამდენიმე კომპონენტი ერთი პასით. React არ იძლევა გარანტიას, რომ მდგომარეობის ცვლილებები დაუყოვნებლივ გამოიყენება.
React JS სინქრონულია თუ ასინქრონული?
პირველ რიგში, დიახ, ეს ასინქრონულია.