PracticU

אירועים בריאקט - Events

בלי כתוביותעם כתוביות
PracticU › קורס ריאקט - React › אירועים בריאקט - Events
מילון מושגים:
אירוע - התרחשות שהמערכת מזהה ויכולה להגיב לה, כמו לחיצת עכבר, הקשה או סיום פעולה.
כפתור - רכיב בממשק המשתמש שהמשתמש לוחץ עליו כדי להפעיל פעולה, כמו שליחת טופס או מעבר לדף אחר.
React - ספריית JavaScript לבניית ממשקי משתמש מבוססי רכיבים, שפותחה על ידי פייסבוק.
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.
JavaScript - שפת תכנות שרצה בעיקר בדפדפן ומוסיפה אינטראקטיביות לדפי אינטרנט. רצה גם בצד השרת באמצעות Node.js.
DOM - ייצוג עץ של מבנה דף HTML בזיכרון, שמאפשר לקוד לקרוא ולשנות את תוכן הדף ומבנהו.
תגית - סימון בקוד, למשל ב-HTML, שתוחם רכיב ומגדיר את תפקידו או תכונותיו. גם תווית לסימון וקיטלוג פריטים.

אירועים בריאקט - Events
איך תופסים אירוע כמו לחיצה על כפתור ב-React ומריצים קוד בתגובה? ההרצאה מראה את זה ב-functional component, וההרצאה הבאה תראה class component.
השלבים העיקריים
1. הדוגמה: קומפוננט Recommended עם משתנה item שערכו Red Wine, שבעתיד יגיע מהשרת, וכפתור "recommend a product". הקומפוננט מוצג בתוך box בדף הבית.
2. ההבדל מ-HTML: ב-HTML כותבים onclick עם מחרוזת שקוראת לפונקציה. ב-React משתמשים ב-onClick ב-camelCase, כי מדובר באובייקט JavaScript ולא ב-DOM עצמו. הערך הוא ביטוי בסוגריים מסולסלים, ורושמים את שם הפונקציה בלי לקרוא לה, בלי סוגריים.
3. Handler: מגדירים פונקציה כמו clickHandler, שמקובל לסיים את שמה ב-handler, ובתוכה למשל alert(item). לחיצה מציגה את המוצר.
4. הארגומנט: הפונקציה יכולה לקבל פרמטר אחד, שהמרצה קורא לו args, אחרים e או event. בהתחלה מגדירים אותו any, ואחר כך מחליפים בטיפוס מדויק.
5. SyntheticEvent: console.log מראה שהטיפוס הוא SyntheticBaseEvent. זו מעטפת ש-React יוצרת על האירוע המקורי והיא זהה לכל סוגי האירועים. המרצה משתמש ב-SyntheticEvent.
6. תוכן האירוע: nativeEvent הוא האירוע המקורי של HTML, שהיה MouseEvent. target הוא הרכיב שהעלה את האירוע, כאן הכפתור. בשביל לראות אותו כאובייקט ולא כתגית משתמשים ב-console.dir. עם cast כמו as HTMLButtonElement אפשר לגשת בביטחון ל-innerHTML שלו.
7. Arrow function ישירות: כשיש פקודה אחת קצרה, אפשר לשים arrow function ישירות ב-onClick ולהשמיט סוגריים מסולסלים. המרצה מעדיף פונקציה נפרדת, כי בדרך כלל יש יותר מפקודה אחת.
שימו לב
1. onClick עם c קטנה לא יעבוד.
2. לא קוראים לפונקציה בעצמנו אלא מעבירים אותה.
3. מתי משתמשים ב-args: למשל כדי לדעת איפה העכבר נמצא או מי העלה את האירוע.
אחרי ההרצאה אפשר לחבר פונקציית טיפול לאירוע לחיצה ב-functional component ולקרוא את פרטי האירוע.
השיעור הבא בקורס: אירועים בתוך class component ב-React

פרקי ההרצאה: אירועים בריאקט - Events

  1. 00:00

    טיפול באירועים ב-React

  2. 00:39

    יצירת קומפוננט Recommended

  3. 01:18

    הוספת לחצן להמלצה על מוצר

  4. 02:00

    ההבדל מ-onclick ב-HTML

  5. 02:42

    שמות אירועים ב-camelCase

  6. 03:23

    העברת הפונקציה בלי לקרוא לה

  7. 04:26

    הצבת הקומפוננט ובדיקת הלחצן

  8. 05:08

    קבלת אובייקט האירוע args

תמלול ההרצאה: אירועים בריאקט - Events

הטקסט המלא של הדקות הראשונות בהרצאה «אירועים בריאקט - Events» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    אנחנו עוברים לכלי הבסיסי הבא של ריאקט וזה איבנטים אירועים איך אנחנו מתמודדים עם אירועים כאשר אנחנו רוצים שרכיבי ה-HTML יבצעו איזשהו אירוע, אירוע קליק, אירוע Mouse Move, לא משנה איזה אירוע, איך אנחנו יכולים לתפוס את האירועים האלה בריאקט ולכתוב קוד שיתבצע כתגובה לאירועים האלה.

  2. 00:28

    בואו נראה את זה ב-Component חדש, אנחנו בסרטון הזה הולכים לראות את זה, איך לבצע את זה ב-Functional Component. בסרטון הבא, איך לבצע את זה ב-Class Component, כי אלו שתי דרכים שונות.

  3. 00:45

    אז אנחנו רוצים לייצר לעצמנו, בואו נעשה קריאייט, Functional Component בתוך Home, בוא תייצר לי קומפוננט עבור מומלצים, Recommended.

  4. 00:58

    אין צורך בפרופס, ואני מריץ. בואו ניגש לפה, והנה יש לנו את ה-recommended המלצות, מה אנחנו רוצים לראות.

  5. 01:12

    ובואו נניח שיש לנו כאן איזשהו משתנה, אייטם שאנחנו רוצים להמליץ עליו, והיום האייטם הוא Red Wine, זה ההמלצות שלנו, וזה כמובן יכול להגיע בהמשך מאיזשהו שרת מרוחק, כרגע זה Hardcoded, אבל כשנראה איך להביא דברים משרת מרוחק, כמובן נוכל ללכת ולהביא אותם.

  6. 01:33

    אנחנו רוצים, שירענו פה איזשהו לחצן. מה שאנחנו רוצים לבצע בלחצן זה recommend a product. תמליץ לי על איזשהו מוצר וכמובן שילחצו עליו אני אראה את זה כי זה היה כאילו הלכנו לשרת והבאנו את האייטם שאנחנו רוצים להמליץ עליו.

  7. 02:00

    בואו רק נגדיר כאן שאנחנו רוצים את זה כבוקס בכדי לראות את זה בצורה ברורה כקומפוננט נפרד ואם היינו בעולם ה html האמיתי והיינו רוצים לכתוב אירוע onclick לבטן אז פשוט היינו רושמים onclick וזה לא מה שאנחנו רושמים עכשיו כשהיינו ב html רשמנו onclick וקראנו לאיזושהי פונקציה do something עם סוגריים

  8. 02:33

    כאילו שזה קריאה לפונקציה לא כאילו באמת זאת כאילו קריאה לפונקציה אני אומר את המילה כאילו, אבל זה באמת, ואצלנו זה לא ככה. לא, לא, לא, אנחנו לא עושים את זה. מה שאנחנו עושים זה משתמשים באטריביוטס מוכנים של React, שזה בעצם אותם שמות של האירועים האמיתיים של HTML,

  9. 02:55

    אבל הם ב-Camel Case. כלומר, אם ב-HTML היה on-click, אז React יש לה on-click עם סי גדולה. אז קודם כל זה הבדל ראשון, לא יעבוד לנו עם all-click עם סי קטנה כי אנחנו לא ניגשים לדום בעצמנו הבטן הזה זה לא באמת אובייקט דום זה אובייקט JavaScript שמכיל עותק של הדום האמיתי ואנחנו רוצים לגשת אליו בצורה כזאת on-click בצורה כזאת.

  10. 03:29

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

  11. 03:48

    זאת אומרת, אם יש לי פה איזושהי פונקשן, נקרא לה קליק הנדלר. הרבה פעמים מקובל שאירועים בראיית הסתיימו במילה הנדלר, זה לא חובה, אבל זה מקובל, והיא לא מחזירה לי שום דבר, ומה שאנחנו היינו עושים ב-HTML זה פשוט קוראים

  12. 04:09

    לה מפה. אנחנו לא רוצים לקרוא לה, אנחנו רוצים לרשום אותה. אני רק לוקח אותה, אני לא קורא לה בעצמי, אני לוקח את השם שלה, מכניס את זה ל-onclick.

  13. 04:22

    עכשיו אני יכול כאן לרשום alert-item והוא יציג לי את האייטם. בואו נשים את ה-recommended הזה ב-home, ניגש ל-home, נשים אותו פה, recommended, ואז אנחנו אמורים לראות את הלחצן, קצת יותר מדי צמוד לי בוא נגדיר שיש לנו פה padding של 10 פיקסלים אולי יופי ואני לוחץ על הלחצן והנה אני רואה את המוצר

  14. 04:57

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

  15. 05:22

    חלק אוהבים לקרוא לו E, חלק אוהבים לקרוא לו Event, Env, אני אוהב לקרוא לו args כי זה args בצורה כזאת, סליחה, args בצורה כזאת, מפני שזה ארגומנדים שנשלחים ל-Event.

  16. 05:39

    בגלל שאני נמצא ב-TabScript אז הוא מחייב אותי כרגע להגדיר טיפוס נתונים.

לקורס המלא: קורס ריאקט אונליין

ההרצאה הקודמת: העברת מידע בין קומפוננטות בעזרת prop ב-component class בריאקט

ההרצאה הבאה: אירועים בתוך class component ב-React

הרצאות קשורות מקורסים אחרים

  • אירועים - Events - חלק 1
  • אירועים EVENTS ב-NodeJS
  • Device Events
  • Animation Events

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס NodeJS