קורס React & Redux By Example שיעור ניהול State של פקד


זה נושא דיון מלווה לערך המקורי ב- https://www.tocode.co.il/bundles/react/lessons/state

Blockquote

1.הסברת בסרטון שהריאקט בודק מול הDOM הקודם - ומעדכן למה לא פשוט להריץ את הרנדר מחדש וזהו ?
2.החסרון בשיטה הנוכחית שאם יש לי פונקציית רנדר ארוכה במיוחד - אז על כל שינוי קטן בקלט או במצב של הפקד כל הפקד יצוייר מחדש ?

לא הבנתי לגביי השימוש הכפול בפונקציה setstate , ואיך הפתרון שהצעת עובד …מה זה שאתה שמתה פסיק בין שני הפקודות…לא הבנתי איך זה עובד

בקטע טקסט" סעיף 6 וידאו " נראה מיותר חוזר על מה שנאמר למעלה

הי,

  1. אכן render מופעל מחדש אבל לא כל התוצאה שלו נכתבת למסך. למשל אם התוצאה של render מחזירה HTML שרובו ממש דומה למה שכבר מופיע על המסך אז ריאקט יעדכן רק את החלקים השונים.

  2. זהו בדיוק שלא- הפקודה render לא מציירת את כל הפקד אלא רק מבקשת ממך לתאר איך היה נראה הפקד אחרי השינויים ב state וב props. אחרי זה ריאקט שוברת את הראש מה ההבדל בין זה לבין מה שכרגע יש על המסך ומייצרת רק את הפקודות שצריך כדי לעבור בין שני המצבים

  3. הבעיה עם setState שהיא אסינכרונית, כלומר השינוי לא קורה מיד. לכן ה setState השני לא רואה את השינוי שביצע הראשון. דרך אחת להתמודד עם זה היא מה שהראיתי כאן וזה להעביר פרמטר נוסף ל setState שהוא פונקציה שתיקרא אחרי שה setState יתבצע. דרך שניה מוצגת בשיעור הבא והיא להעביר פונקציה ל setState במקום אוביקט

לייק 1

שלום ינון!
הייתי מאוד שמחה אם תוכל לכתוב היכן שלחת לקומפוננט את המערך של הימים בשבוע

image
זה פשוט מראה לי שגיאה על הstate ואין לי מושג למה

הי מלי,

את יכולה לקחת את כל תיקיית הדוגמאות שלי עם כל דוגמאות הקוד מכל השיעורים מכאן:

ולשיעור הזה זו הדוגמא שכאן:

מקריאת הודעת השגיאה נדמה שמשהו בפקודות ה import שלך לא בדיוק כמו בדוגמא שלי.

בכל מקרה אני ממליץ בכל וידאו שאת רואה לקחת את תיקיית before מתיקיית הדוגמאות (זו התיקיה שאיתה אני מתחיל את הוידאו) ולעבוד יחד עם הוידאו כדי לקבל את התוצאה שבוידאו.
יש לך גם תיקיה בשם after לכל דוגמה שזו התוצאה שאני קיבלתי בסוף הוידאו

בהצלחה
ינון

@ynonp
לגבי העתקת אובייקטים ומערכים, הערה קטנה שחשוב לציין
אם האובייקט או המערך מכיל יותר מ רמה אחת, מה שאנחנו מעתיקים by value זה רק את הרמה הראשונה, וכל שאר הרמות מועתקים by referance ולכן לעשות את פעולת ההעתקה על ידי destructuring זה מאוד מסוכן, מומלץ במקרה הזה לעשות העתקה מקוננת כמו cloneDeep של loadsh

לייק 1

היי
אני מחפשת את תקיית הדוגמאות לשיעור זה והיא נראה לי לא קיימת.
אשמח לעזרה

הי,

זה הלינק לתיקיית הדוגמאות לכל השיעורים:

וזה לדוגמה של שיעור זה: