זה נושא דיון מלווה לערך המקורי ב- https://www.tocode.co.il/bundles/react/lessons/components-lab
זה נושא דיון מלווה לערך המקורי ב- https://www.tocode.co.il/bundles/react/lessons/components-lab
התחלתי להגדיר קודם את המפל ארועים דהיינו שהstate של המכיל יעבור כprop לבנים - לפני שהגדרתי את הארוע - שזה גם סיפור בפני עצמו כי זה יכנס ללופ אינסופי ולא יעצר ? וזה בכלל לא עובד - אפילו השלב הראשון ?
היו לך שם כמה שגיאות כתיב שצריך לתקן. אחרי התיקון זה מראה משהו (אבל עדיין צריך להוסיף את הלוגיקה ששינוי טקסט בתיבה ישנה גם את התיבות האחרות:
אגב המלצה שלי לתרגיל הזה היא להשתמש רק ב Component אחד ואז הכל יהיה הרבה יותר קל
עברתי על הקוד שלך - ועל הקוד שלי אכן מצאתי טעות אחת בכתיב - ואז בדקתי ממש שורה שורה והכל זהה ועדיין אצלך זה עובד ואצלי לא - מזל נאכס לא מצליח להבין איפה הבעיה ?
העברתי לפקד אחד כמו שביקשת - לפני שאני מכניס את הארוע - רציתי לראות אם סתם שיציג לי את הפקד - פשוט לא עובד ממש מיאש לא מבין מה לא בסדר ?
צריך להיות בסוף:
ReactDOM.render(...)
אוקיי עוד משהו כי עדיין לא עובד ??? ממש מתסכל !!!
ברוך הבא ל JavaScript
ב JS אסור לשים ירידת שורה אחרי ה return - כי הוא לא מבין שהשורה הבאה זה המשך של שורת ה return וחושב שהתכוונת ל return ריק
תחבר את השורות או שים סוגריים עגולים והכל מסתדר
היי ינון,
תרגיל 4 לא הכי מובן. נראה שהמשפט הראשון חתוך וחסרים פרטים.
תודה.
תודה תיקנתי. זה הטקסט המעודכן:
כתבו תוכנית ריאקט המציגה תיבת קלט לבחירת צבע ולידה תיבת div צבעונית. בכל פעם שמשתמש בוחר צבע יש לעדכן את הצבע של ה div.
לאחר מכן עדכנו את הפקד כך שיוכל לקבל בתור Property ערך של צבע שיוצג לפני שמשתמש בחר את הצבע הראשון.
הפתרונות שלי:
הי איתמר,
כמה הערות לשיפור לפעמים הבאות:
- יותר מקובל להפעיל את ה bind פעם אחת ב constructor מאשר 5 פעמים ב render. כלומר בפיתרון הראשון יהיה יותר משתלם לכתוב:
constructor(props){
super(props);
this.onChange = this.onChange.bind(this);
this.state = {value: "Hello World"};
}
במקום לכתוב את זה ב render
- נהוג לא לשמור ערכים נגזרים ב state, כלומר בתרגיל השני אם יש לך נניח את השניות אז אתה לא צריך לשמור גם את הדקות או השעות - קל לחשב ערכים אלה מתוך השניות. יש לשמור ב State את מינימום המידע שדרוש כדי להציג את הפקד. אותו דבר לגבי התרגיל האחרון שם מספיק לשמור את הצבע הראשון כי כל שאר הצבעים הם ערכים שמחושבים ממנו.
תודה על ההערות
תיקנתי את הפתרונות…