
AddProduct, בלי props, ומציגים בה בינתיים פסקה.product/new שמציג את AddProduct, ובודקים בדפדפן שהוא נטען.NavLink עם to לכתובת product/new ועם exact, ובתוכו אייקון של add box.position: absolute, 20 פיקסלים מהצד ומלמעלה.useForm כדי לקלוט את הנתונים.הטקסט המלא של הדקות הראשונות בהרצאה «הוספת קומפוננטה בטפסים של ריאקט - React Forms» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו מגיעים למודול חדש וממש ממש חשוב. במודול הזה אנחנו הולכים לראות איך לטפל בטפסים, פוראמס. טפסים זה משהו שהוא מאוד מאוד חשוב בעולם האינטרנט, בעולם ה-Front End, בעולם ה-UI.
בעזרת טפסים אתם בעצם יכולים לקלוט מידע מהמשתמש, אולי אתם רוצים לעשות הרשמה או כניסה, לוג אין, או לקלוט מוצר חדש.
כל דבר שאתם רוצים לקלוט מהמשתמש בעצם נכון לבצע פה טופס. בטופס בדרך כלל יהיו לנו מספר שדות, מספר תיבות input. אנחנו כאן ראינו פעם איזושהי תיבת input, אנחנו רואים פה את ה-MyWishList והצלחנו לקלוט ממנה מידע.
בואו רגע נקלוט את הטסט הזה ונראה פה some other thing. מעולה, אנחנו יכולים לקלוט מידע, אז מה ההבדל בין התיבה הזאת לבין טופס?
אז למעשה אין כזה הבדל, גם זאת היא תיבת input. בשביל לטפל בתיבת input הזאת, מה שהיינו צריכים לעשות זה מנגנון שלם שנקרא two-way binding, רק עבור תיבה אחת.
ומה קורה אם יש לי טופס שיש לו 10 תיבות כאלה? אז בשביל לעשות two-way binding היינו צריכים לכתוב די הרבה קוד, היינו צריכים סטייט ובסטייט היינו צריכים איזשהו משתנה והיינו צריכים לחבר את המשתנה הזה לתיבה והיינו צריכים גם אירוע שהתיבה מרימה ואז
באירוע קלטנו את המידע כלומר עשינו פה המון עבודה רק בשביל תיבה אחת אז אם אנחנו רוצים 10 תיבות אנחנו צריכים לשכפל את כל העבודה הזאת 10 פעמים זה די הרבה אז למעשה אנחנו לא באמת צריכים לעשות את זה מפני שכבר כתבו לנו ספרייה שעושה את זה.
הספרייה הזאת זאת ספרייה טריה תהוק, שאנחנו הולכים לראות איך עובדים איתה. זאת הספרייה הכי פופולרית לטיפול ב-forms. כמובן שאפשר לעבוד עם two-way binding, זה לא שזה לא בסדר, אבל זה המון קוד מיותר.
במקום לעבוד עם ה-two-way binding הזה, אנחנו יכולים פשוט לעבוד עם הספרייה הזאת, והיא מאחורי הקלעים עושה את ה-2-way ביינדינג. אז אנחנו כבר הולכים לראות איך עובדים עם הספרייה הזאת במקום שאנחנו נעשה 2-way ביינדינג לכל איבה, אבל קודם כל בואו נייצר לעצמנו איזשהו רכיב שמאפשר לקלוט מידע.
בואו נניח שאנחנו רוצים במוצרים לקלוט את הפרטים של מוצר חדש, שזה בעצם השם שלו, זה המחיר, זה הכמות במלאי וזה גם את התמונה שלו ארבעת האלמנטים האלה אנחנו רוצים שהמשתמש יכניס זה אחלה רעיון בטופס.
אז בואו נחזור ונייצר לעצמנו קומפוננטה שזה בעצם התפקיד שלה להוסיף טופס חדש יש לנו פה את האזור של המוצרים להוסיף הכוונה מוצר חדש. היה לנו כאן את ה product list, היה לנו את ה product card שמציג פרטים לגבי מוצר אחד וproduct details ואנחנו רוצים גם להוסיף to create fc. למה