PracticU

עיצוב דינמי בריאקט עם Pseudo Selector

בלי כתוביותעם כתוביות
PracticU › קורס ריאקט - React › עיצוב דינמי בריאקט עם Pseudo Selector
מילון מושגים:
סלקטור - ביטוי, בעיקר ב-CSS, שבוחר אילו רכיבים בדף יושפעו מכלל עיצוב או פעולה.
CSS - שפת עיצוב שקובעת את המראה של דפי אינטרנט: צבעים, גופנים, מיקום וסידור הרכיבים.
React - ספריית JavaScript לבניית ממשקי משתמש מבוססי רכיבים, שפותחה על ידי פייסבוק.
ספרייה - אוסף קוד מוכן, כמו פונקציות ומחלקות, שמפתחים משתמשים בו בתוכניותיהם במקום לכתוב הכול מחדש.
npm - מנהל החבילות של Node.js, המשמש להתקנה ולניהול ספריות JavaScript בפרויקט.
TypeScript - שפת תכנות המרחיבה את JavaScript בהוספת טיפוסים, ומתקמפלת ל-JavaScript רגיל.
Northwind - מסד נתונים לדוגמה של מיקרוסופט, המדמה חברת מסחר ומשמש ללימוד ולהדגמת שאילתות SQL.
גופן - העיצוב הגרפי של האותיות והתווים המוצגים בטקסט, הכולל צורה, סגנון וגודל.

עיצוב דינמי בריאקט עם Pseudo Selector
ב-CSS רגיל אפשר לצבוע רכיב בזמן ריחוף עם העכבר באמצעות pseudo selector כמו hover. כשהעיצוב נכתב בתוך הקוד כ-inline style, React לא תומכת בזה, וההרצאה מראה איך משלימים את החסר עם ספרייה בשם Radium.
התקנה
מתקינים בתוך הפרויקט, בלי -g, את npm i radium. בפרויקט TypeScript מתקינים גם את הטיפוסים: npm i @types/radium. בפרויקט JavaScript רגיל מספיק החבילה הראשונה.
השלבים העיקריים
1. קומפוננט Email: נוצר בתוך Support קומפוננט שמציג בפסקה את כתובת האימייל של החברה, [email protected].
2. אובייקט סטייל דינמי: נוצר מספר אקראי. לפיו נקבע צבע רקע קבוע, lightblue או lightgreen, וצבע ריחוף כהה, darkblue או darkgreen. שני המשתנים מוגדרים מחוץ לקומפוננט כדי שייווצרו פעם אחת ולא בכל רענון, כי בזמן ריחוף הקומפוננט מצויר מחדש.
3. מאפיין ריחוף: בתוך האובייקט נכתב המאפיין ':hover' כמחרוזת, ובתוכו backgroundColor של צבע הריחוף ו-color: white.
4. בלי הספרייה זה לא עובד: אחרי שהקומפוננט הוצב בתוך Support והדף רוענן, הרקע האקראי השתנה, אבל בריחוף לא קרה כלום.
5. עטיפה ב-Radium: מייבאים את Radium (באות גדולה, כי זה higher order component) ובשורת הייצוא מבצעים export default Radium(Email). אחרי זה הריחוף עובד גם בכחול וגם בירוק.
מה עוד הספרייה מאפשרת
היא מוסיפה ל-inline styling דינמי גם media queries, animation ו-font face, כלומר הדברים שמתחילים ב-@.
שימו לב
- Higher order component הוא קומפוננט שמקבל קומפוננט אחר, מוסיף לו יכולת ומחזיר אותו. בניית כזה מוצגת בהמשך, וכאן רק משתמשים בו.
- כתיבת עיצוב בתוך הקוד מוצדקת רק כשהוא באמת דינמי, למשל צבע שמשתנה לפי יום.
אחרי ההרצאה אפשר להוסיף ריחוף ו-media queries לרכיב שהעיצוב שלו נקבע בקוד.
השיעור הבא בקורס: הסבר על CSS Modules

פרקי ההרצאה: עיצוב דינמי בריאקט עם Pseudo Selector

  1. 00:00

    Hover ו-Pseudo Selector ב-CSS

  2. 00:36

    הצורך בספרייה חיצונית

  3. 01:12

    התקנת ספריית Radium עם npm

  4. 01:50

    הוספת @types עבור TypeScript

  5. 02:27

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

  6. 03:08

    אובייקט סטייל עם מצב hover

תמלול ההרצאה: עיצוב דינמי בריאקט עם Pseudo Selector

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

  1. 00:02

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

  2. 00:28

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

  3. 00:36

    אני מגדיר שיש לי את ה-hover הזה מעל על ידי עיצוב cssי. אז למעשה React לא תומכת בזה. בכדי שנצליח לעשות את זה אנחנו צריכים לשלב כאן איזושהי ספרייה חיצונית שזה מה שהיא יודעת לעשות.

  4. 00:53

    היא יודעת לשלב extra css בצורה דינמית בקונספט של ה-embedded styling שעשינו. סליחה באינליין סטיילינג שעשינו אנחנו יכולים דרך הספרייה הזאתי לעשות פסאודו סטיילינג אנחנו יכולים לעשות מדיה קוויריז אנחנו יכולים לעשות אנימיישן אנחנו יכולים לעשות הרבה דברים שהם מעבר לcss רגיל הספרייה הזאתי

  5. 01:19

    נקראת רדיום ובכדי להוריד ולהתקין ספרייה בתוך הפרויקט אנחנו פשוט הולכים לטרמינל אני רגע אנקה אותו ואנחנו פשוט מתקינים התקנה שהיא לא גלובלית במחשב על ידי מינוס G, כמו שעשינו לדוגמה כשהתקנו את React, אלא בלי מינוס G, npm, i, קיצור של install ואת השם של הספרייה.

  6. 01:46

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

  7. 02:10

    אם הייתי רק בג'אווה סקריפט, נניח הייתי מפתח React.js בג'אווה סקריפט רגיל, לא היה לי את זה, היה לי רק npmi רדיום.

  8. 02:18

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

  9. 02:27

    אז בואו נתקין את זה, PMI רדיום עם הטייפ שלו יופי ובואו נבנה לעצמנו עוד קומפוננטה אז ניגש ל-Create Functional Component בתוך Support ובואו נייצר לעצמנו קומפוננטה שנקראת E-Mail והיא תציג לנו פשוט את ה-E-Mail של החברה נבצע Enter הנה יש לנו קומפוננטת E-Mail ונבוא לפה אנחנו רוצים האמת

  10. 02:54

    הכל דינמי אז בואו ניפטר רגע מהקובץ הזה גילית ויש לנו כאן רק בוא אין לנו גם את זה אז תכף אנחנו הולכים להשתמש בספרייה רדיום ומה שאני רוצה לעשות זה קודם כל להגדיר לעצמי איזה שהוא אובייקט דינמי סטייל ואנחנו רוצים לתת background color גם עבור מצב של עכבר מרחף מעל הרכיב הובר אם היינו בCSS האמת חבל שמחקתי את הCSS אבל אם היינו בCSS אז הייתם

  11. 03:27

    יכולים לרשום בוא נניח נקודה והשם של ה-Component זה היה E-Mail נקודותיים over זה מה שהיינו יכולים לעשות אבל איך אנחנו יכולים לעשות דבר כזה כאן באזור של הטייפ סקריפט זה משהו שהוא קצת לא נתמך על ידי React אז ראשית אני מזכיר אנחנו רוצים לבצע קוד שהוא דינמי זאת אומרת לקבוע את הצבעים בצורה רנדומלית

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

ההרצאה הקודמת: עיצוב דינמי בריאקט

ההרצאה הבאה: הסבר על CSS Modules

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

  • Selector - CSS
  • מה זה דיסק דינמי?
  • עיצוב בדיקות
  • ניתוב דינמי עם RIPv2

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

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