
getRandomColor מחזירה מחרוזת rgb משלושה מספרים בין 0 ל-255, שכל אחד מהם נוצר עם Math.floor ו-Math.random כפול 256. דבר כזה אי אפשר לעשות ב-CSS רגיל, ולכן העיצוב דינמי.backgroundColor. בהדגמה גם צבע הרקע וגם צבע הגופן נקבעו אקראית.style. שם המשתנה לא משנה, רק התוכן. אחרי רענון כל פעם מתקבלים צבעים אחרים.upSlant עם transform: rotate של 5 מעלות ו-downSlant עם מינוס 5.Math.random קטן מ-0.5 מקבלים את upSlant, אחרת את downSlant. המשתנה נכנס ל-className בתוך סוגריים מסולסלים, והפסקה מוטה פעם לכיוון אחד ופעם לכיוון השני.הטקסט המלא של הדקות הראשונות בהרצאה «עיצוב דינמי בריאקט» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הקונספט העיצובי הבא שלנו נקרא Dynamic Styling. מה קורה אם אנחנו רוצים שהעיצוב שלנו יהיה דינמי? זאת אומרת, ייקבע כתוצאה ממשהו בקוד.
לא תמיד אותו עיצוב כל הזמן. דבר ראשון, אנחנו הולכים לייצר כאן איזשהו קומפוננט חדש, ולמעשה יש לנו כל מיני קומפוננטים שאנחנו רוצים לייצר עבור הבנה של סטיילינגים שונים.
האזור של ה-Home די עמוס אז בואו נייצר לנו עוד אזור עבור כל הקונספט של ה-Support התמיכה באתר ואת כל הקומפוננטות שקשורות עבור ה-Styling נשים ב-Support אז אנחנו רוצים לחזור בחזרה בואו נפתח כאן טרמינל מספר 2 ואנחנו רוצים to create functional component אנחנו רוצים עבור support area ונקרא לקומפוננט הזה address והוא בעצם
יציג לנו את הכתובת של האתר או של הבית עסק בואו נייצר את זה הנה יש לנו פה את support area והנה יש לנו פה address אז אני נכנס ל address ומה שאני רוצה ב address זה איזושהי פסקה הנה יש לנו פה פסקה ובפסקה כתוב our address ובואו נניח איך שאנחנו גרים בגולד 12 תל אביב.
זאת הכתובת. בואו רגע נציב את ה-Component באזור שלו. אז יש לנו פה את ה-Address ואנחנו רוצים קודם כל אנחנו רוצים אזור של ספורט.
אז מה שנעשה זה Create ב-Support Area Support Component יש לנו כאן את הסאפורט בתוכו אנחנו רוצים את האדרס את זה ואנחנו רוצים להציב את הסאפורט במקום ההום בלייאוט כי אנחנו לא רוצים כרגע לראות את ההום נשים אותו רגע בהערה ונציב את הסאפורט בהמשך כמובן נראה איך אפשר לעשות מנגנון שמאפשר להציג אותם כתלות
בתפריט כן אבל כרגע הצגנו פה את הסאפורט בואו נבדוק רגע איך זה נראה רק סתם טקסט כזה בואו נייצר פה לא בספורט אלא פה נגיד שהוא גם בוקס עכשיו אנחנו רוצים לעצב את הדבר הזה העיצוב אנחנו רוצים שהוא יהיה דינמי ערכו יוחלט בטייפ סקריפט עצמו אז יש מספר טכניקות שמאפשרות לעשות את
זה קודם כל בואו נבנה לעצמנו פה איזושהי פונקציה והיא נקראת getRandomColor הפונקציה הזאת תחזיר לנו סטרינג שמכיל צבע רנדומלי. איך אני מייצר צבע רנדומלי?
יש לי את הפונקציה ה-CSSית rgb כמחרוזת כמובן והיא מקבלת שלושה גוונים זה מספרים בין 0 ל-255 כולל קצוות כאשר כל אחד מייצר גוון Red, Green, Blue ואז היא לוקחת את שלושת הגוונים ומחזירה לי איזשהו צבע לכן בואו אנחנו נייצר כאן גוון רד רנדומלי math.flor
math.random כפול 256 ייתן לי 0 עד 255 נגדי רד יש לנו גרין ויש לנו בלו וכעת אנחנו יכולים to return rgb שיש לו חלק רד חלק גרין חלק בלו אז הנה rgb עכשיו יש לנו פונקציה שמחזירה לנו איזשהו צבע cssי רנדומלי לחלוטין, אני לא יודע איזה צבע היא תחזיר.
את זה לא ממש הייתי יכול לעשות בcss לכן זה דינמי. אז איך אנחנו יכולים לקחת את הצבע הזה ולשלוט עליו או להשתמש בו?
אז טכניקה אחת אומרת בואו נייצר לעצמנו משתנה או אובייקט בשם סטייל ונכניס לתוכו אובייקט. האובייקט הזה מכיל הגדרות CSS כאשר אם ב-CSS היינו רוצים להשתמש לדוגמה ב-BackgroundColor אז בעצם היינו רושמים BackgroundMacafColor אני לא יכול עכשיו לקחת ולרשום פה שם של מאפיין
שנקרא BackgroundMacafColor ולהכניס לו תוכו איזשהו value כי אין דבר כזה מקף בעולם השמות של המשתנים אז בגלל שזה אובייקט אני יכול לרשום דבר כזה זה בסדר, או שאני יכול פשוט להחליף אותו לשם שהוא camel case, מתחיל באות קטנה,
וכל מילה נוספת מתחילה באות גדולה, מילים מחוברות. ואז ה-BackgroundColor של CSS יהפוך ל-BackgroundColor של אובייקט.
זה בעצם התאמה מושלמת. אז בואו נגדיר שה-BackgroundColor הוא GetRandomColor. ככה אני יכול כל אחד, לדוגמה בואו נעשה גם שה-Color יהיה RandomColor, גם הצבע הרקע וגם הצבע גופן רנדומליים לחלוטין.
אז הנה יש לנו אובייקט סטייל, לא השתמשתי איתו. הנה הגדרה של background color CSS it, הנה הגדרה של color CSS it, מה אני עושה איתו.
אז אנחנו באים לכאן, האמת שאת זה אנחנו לא רוצים, בואו רגע ניפטר מזה בכלל, כי אנחנו רוצים שהוא יהיה דינמי לחלוטין, אז הוא רק בוקס, אבל אני אומר לו, תשמע, יש לך גם סטיילינג דינמי,