זה בגלל ש- setState משנה את המצב וגורם לעיבוד מחדש. זו יכולה להיות פעולה יקרה והפיכתה לסינכרונית עלולה להשאיר את הדפדפן לא מגיב. לפיכך, קריאות ה-setState הן אסינכרוניות וגם מצטברות עבור חוויית משתמש וביצועים טובים יותר.
למה שיטת setState היא אסינכרונית?
כדי לעדכן את המצב של רכיב, אתה משתמש בשיטת setState. עם זאת קל לשכוח ששיטת setState היא אסינכרונית, מה שגורם לבעיות באגים מסובכות בקוד שלך. הפונקציה setState גם לא מחזירה הבטחה שימוש ב-async/await או כל דבר דומה לא יעבוד.
האם ניתן להפוך את setState לסינכרוני?
זה אולי נשמע מוזר אבל yes setState יכול לעבוד באופן סינכרוני ב-react.
למה יש עיכוב ב-setState?
הסבר רשמי. תחשוב על setState() בתור בקשה ולא פקודה מיידית לעדכון הרכיב. לקבלת ביצועים נתפסים טוב יותר, React עשויה לעכב אותו, ולאחר מכן לעדכן מספר רכיבים במעבר אחד. React אינה מבטיחה ששינויי המדינה יחולו באופן מיידי.
האם React JS הוא סינכרוני או אסינכרוני?
קודם כל, כן, זה הוא אסינכרוני.