
render ציבורית שמחזירה JSX Element - בדיוק את הקוד שבגרסה הפונקציונלית הוחזר כ-return.this.props במקום בגישה הישירה שהייתה בפונקציה, כי מדובר כאן בקלאס קומפוננט.הטקסט המלא של הדקות הראשונות בהרצאה «יצירת Higher Order Component עם Class Component» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
כאשר אנחנו בנינו את ה-Higher Order Component שלנו, אנחנו בנינו אותה עם Functional Component שזה בדרך כלל מה שעושים, אבל אנחנו החזרנו כאן Functional Component וזה ממש בסדר.
מה שאני רוצה להראות עכשיו זה אולי אתם רוצים להחזיר Class Component במקום Functional Component, כי יש לכם הרבה דברים שקשורים ל-Class שאתם רוצים לבצע ב-Higher Order Component, או במעטפת הזאת, כמו Lifecycle הוקס, אולי אתם רוצים להשתמש ביכולת של ה-State של הקלאס, לכן אתם לפעמים רוצים להחזיר קלאס קומפוננט
ולא פונקצ'נל קומפוננט. קצת מבלבל, כי יש פה פונקצ'נל קומפוננט ופה פונקצ'נל קומפוננט, וזה פונקצ'נל או קלאס, זה דרך אגב יכול להיות גם פונקצ'נל וגם קלאס, זה לא משנה.
אז בואו ניקח את כל הקטע קוד הזה, נשים אותו בהערה, ונכתוב אותו מחדש, אבל הפעם נחזיר קלאס. אנחנו בעצם פה החזרנו פונקציה אנונימית, פונקציה ללא שום שם.
אנחנו בעצם יכולים להחזיר אנונימוס קלאס. אנונימוס קלאס זה משהו שהוא די נדיר לראות, לפחות בפרונט אנד, אבל זה קיים. בואו נבצע ריטרן, במקום פונקשן קלאס אין לה שם, ומיידית אקסטנדס.
משהו מוזר איזה יופי הנה קלאס לא נתתי לה שם ומיד אמרתי שהיא יורשת את מה היא יורשת? קומפוננט אין לי צורך כרגע בסטייט יש לי צורך רק בפרופס נשים פרופס any כי אנחנו בעצם לא יודעים איזה פרופס הולכים לשלוח לנו זה בדיוק כמו זה ואנחנו רוצים to create public render ממש כאילו שאני קומפוננטה שמחזירה jsxElement קלאס קומפוננט
והרנדר הזאת תבצע את הריטרן שמקודם היה לנו. זה היה הריטרן, נשים אותו פה, ובואו נייצר לעצמנו כאן את הלוגיקה הזאת. בעצם זה צריך להיות לנו פה איזושהי לוגיקה, רק זה לא אמור להיות קונסט, בואו ניקח פריווט, וכאן אנחנו רוצים את הסטייל, נשים פה דיס נקודה, כאן אנחנו רוצים את הפרופס, נשים פה דיס נקודה
פרופס, כי אנחנו קלאס קומפוננט, אז יש לנו this, מכל זה אנחנו יכולים להיפטר ויש לנו פה משהו ממש מגניב יש לנו פה פונקציה functional component שאנחנו בונים זה ה higher order component והיא מחזירה סוג של wrapper מעטפת שמקודם החזרנו functional component שעטפה אבל כרגע אנחנו מחזירים class component אנונימוס
קלאס שיש לו איזושהי לוגיקה איזשהו סטייל מסוים יש לה פונקציית render שמחזירה ג'י אס אקס אלמנט והיא מקבלת או שהיא שמה את האינר קומפוננט