PracticU

הסבר על Single Props Children

בלי כתוביותעם כתוביות
PracticU › קורס ריאקט - React › הסבר על Single Props Children
מילון מושגים:
רכיב - יחידת בניין עצמאית וניתנת לשימוש חוזר בתוך מערכת או ממשק משתמש, שאחראית על חלק מוגדר מהתפקוד.
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.
ממשק - נקודת מגע בין רכיבים: ממשק משתמש שבו אדם מפעיל תוכנה, או ממשק תכנותי שמגדיר אילו פעולות רכיב אחד חושף לאחר.
תגית - סימון בקוד, למשל ב-HTML, שתוחם רכיב ומגדיר את תפקידו או תכונותיו. גם תווית לסימון וקיטלוג פריטים.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.

הסבר על Single Props Children
כדי לא לכתוב את אותו הקוד פעמיים, ריאקט מאפשרת לבנות קומפוננטה שמעצבת תוכן בלי לקבוע מראש איזה HTML יוצג בתוכה - את זה היא מקבלת מבחוץ, מה-parent, בעזרת props.children.
איך זה עובד
1. בניית הקומפוננטה: יוצרים קומפוננטה פונקציונלית בשם Slogan שמקבלת props, ובתוכה מציגים את מה שמגיע מה-parent בתוך פסקה.
2. הגדרת children: בממשק של ה-props מגדירים שדה בשם children מסוג ReactNode, שמגיע מריאקט ושהוא השם המקובל ל-HTML שמועבר אל תוך תגית.
3. שימוש כמחרוזת פשוטה: אם שולחים ל-Slogan טקסט רגיל בין התגיות, הוא מוצג כפי שהוא - children יכול לקבל גם מחרוזת פשוטה, ולא רק HTML.
4. שימוש כקטע HTML: אפשר לשלוח לתוך הקומפוננטה ספאן, תגית strong או כל קטע HTML אחר, וה-children מציג אותו בדיוק כמו שנכתב, כולל עיצוב כמו הדגשה.
5. שימוש בקומפוננטה מה-home: בעמוד ה-home קוראים לקומפוננטה Slogan ומזריקים לתוכה את ה-HTML הרצוי בין תגית הפתיחה לתגית הסגירה, בלי לכתוב props="...".
שימו לב
- אם שולחים ל-children רק מחרוזת, זה עדיין עובד, אבל אז הגדרת הסוג כ-ReactNode פחות מנוצלת.
- כדי שהקומפוננטה תישאר לשימוש חוזר, מי שמשתמש בה רק מחליף את התוכן בפנים - העיצוב וההתנהגות נשארים קבועים בקומפוננטה עצמה.
הקומפוננטה שנבנתה מאפשרת להציג כל סלוגן שרוצים, כולל HTML מורכב, בלי לשנות את הקוד שלה בכל פעם.
השיעור הבא בקורס: הסבר על Multiple Props Children

פרקי ההרצאה: הסבר על Single Props Children

  1. 00:00

    שימוש חוזר בקוד ב-React

  2. 00:39

    העברת מידע מ-parent ל-child

  3. 01:37

    העברת קטע HTML עם props children

  4. 02:17

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

  5. 04:14

    הגדרת children מסוג ReactNode

  6. 05:33

    שילוב אימוג'י עם Emoji Snippets

תמלול ההרצאה: הסבר על Single Props Children

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

  1. 00:02

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

  2. 00:24

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

  3. 00:52

    מסוים ואנחנו רוצים להעביר את המידע מחוץ לקומפוננטה אל תוך הקומפוננטה, זאת אומרת מה-parent ל-child.

  4. 01:04

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

  5. 01:20

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

  6. 01:39

    מה קורה עם המידע שאנחנו רוצים שה-parent יעביר לנו הוא קטע html-י. כאן props לא בעצם יכול לתת לנו איזשהו מענה מאוד נוח.

  7. 01:53

    אנחנו יכולים לעשות משהו שנקרא props children שמאפשר לנו להעביר קטע html מבחוץ אלינו. בואו נראה איך זה מתבצע. לצורך כך אנחנו רוצים לחזור לאזור של ה-home.

  8. 02:09

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

  9. 02:36

    שמעבר שקשורים יותר לעיצוב אבל היא לא תגדיר את ה html עצמו שמכיל את הסלוגן אז למרות שסלוגן יכול להיות רק עדיין אולי אנחנו רוצים לעצב אותו עם איזשהו html פעם עם פסקה פעם עם ספן היא לא תחליט את זה היא תקבל את זה מבחוץ אז בואו נייצר לעצמנו איזושהי קומפוננטה נניח functional קומפוננט ואנחנו רוצים בתוך ה home area לעשות

  10. 03:06

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

  11. 03:31

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

  12. 04:00

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

  13. 04:17

    אז אנחנו רוצים לאפשר את זה. אנחנו רוצים לאפשר להביא לתוך הפרופס html. איך אפשר לעשות את זה? Props עצמו, אנחנו יכולים לראות את זה כאן, מחיל או יכול להכיל משהו שנקרא Children.

  14. 04:36

    כרגע אנחנו לא רואים את זה, בואו ניפטר רגע מזה. ולצורך כך אנחנו צריכים להגדיר את ה-Children פה למעלה.

  15. 04:48

    השם חייב להיות Children, או לפחות זה מה שמאוד מקובל ב-React, אבל בכל המקומות משתמשים בשם Children, והסוג שלו צריך להיות React Node. מגיע מפה מריאקט ועכשיו אם אני מסתכל על מה יש בתוך props יש לו children וריאקט נוד זה בעצם html שאנחנו יכולים להעביר אז זה נראה די פשוט ואנחנו רוצים להוסיף איזשהו עיצוב מסוים כי אחרת סתם הביאו לנו פה איזה html

  16. 05:24

    ולא כזה משמעותי בוא נניח שאנחנו רוצים להוסיף פה איזשהו אייקון מעניין יש לנו אפשרות לשלב אייקונים למרות שראינו כבר את האפשרות הזאת ממטריאל UI יש לנו אפשרות לשלב משהו שנקרא אימוג'יז איך אנחנו יכולים לשלב אימוג'יז בפרויקט וזה לא קשור רק לסלוגן או ל-children בכל פרויקט

  17. 05:50

    אנחנו יכולים לשלב אימוג'יז יש לנו אפשרות ללכת לאקסטנצ'נס ולהתקין extension מעניין שנקרא emoji snippets והנה הוא כאן בואו נתקין אותו נבצע install והוא התקין נסגור אותו נחזור בחזרה לאקספלורר וברגע שאנחנו רוצים לשתול איזשהו אייקון של אימוג'י אז אנחנו רושמים נקודותיים control space אוקיי

  18. 06:24

    נקודותיים control space פותח לנו רשימה ענקית של אימוג'יז ואנחנו רוצים את האימוג'י שאנחנו רוצים אנחנו פשוט מחפשים אותו בואו נעשה אימוג'י של קודם כל כל אימוג'י אנחנו יכולים לראות כאן את הסמל שלו בואו נחפש אימוג'י של הארט בואו ניקח יש לנו פה בואו ניקח בלו הארט

  19. 06:47

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

  20. 07:12

    אז עכשיו יש לנו פה סלוגן מסוים, ויש לנו פה איזשהו אימוג'י מגניב על הסלוגן הזה. זהו, סיימנו לבנות את הקומפוננטה, הקומפוננטה ממש פשוטה.

  21. 07:26

    אנחנו יכולים לקחת את הקומפוננטה הזאת בשביל

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

ההרצאה הקודמת: פונקציה useRef ב-React Hooks

ההרצאה הבאה: הסבר על Multiple Props Children

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

  • Accessing Single Chars
  • שימוש REST API - Single-Page Application

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

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