המקבילה של componentDidMount ב-hooks היא פונקציית useEffect. פונקציות המועברות ל-useEffect מבוצעות בכל עיבוד של רכיבים - אלא אם כן תעביר לו ארגומנט שני.
למה מיועד useEffect?
מה עושה useEffect? על ידי שימוש ב-Hook זה, אתה אומר ל-React שהרכיב שלך צריך לעשות משהו אחרי העיבוד. React יזכור את הפונקציה שעברת (אנחנו נתייחס אליה כ"אפקט" שלנו), ויתקשר אליה מאוחר יותר לאחר ביצוע עדכוני ה-DOM.
האם רכיב האם הרכיבו הוק של React?
useEffect הוא React hook שבו אתה יכול להחיל תופעות לוואי, למשל, קבלת נתונים מהשרת. הארגומנט הראשון הוא התקשרות חוזרת שתופעל לאחר פריסת דפדפן וצביעה.
למה useEffect לא נקרא?
הסיבה שזה קורה היא בגלל שקריאת ה-API היא אסינכרונית, היא לא מאכלסת את המדינה מיד, אז העיבוד מתרחש ראשון ומנסה לקרוא. זרם ממצב מזג האוויר ההתחלתי null. פתרון: בשיטת העיבוד שלך, הקפד לא לקרוא את מזג האוויר.
האם useEffect פועל תמיד על הר?
חשוב: ה-useEffect-hook תמיד יפעל ב-mount ללא קשר ל- אם יש משהו במערך התלות שלו. אנחנו כנראה לא רוצים להפעיל את ההשפעה הזו על הנתונים שלנו כשהם לא מוגדרים (כפי שהוא יהיה בעיבוד הראשוני), אלא אנחנו רוצים להמתין עד שהוא יאוכלס מהקריאה ל-API.