
product/delete/:id. הקישור אליו נמצא בדף פרטי המוצר.useForm. ה-state מחזיק את המוצר, והוא נטען מהשרת ב-componentDidMount.axios.delete לכתובת המוצרים עם ה-id. אין טיפוס מוחזר, כי השרת לא מחזיר דבר.useForm.הטקסט המלא של הדקות הראשונות בהרצאה «מחיקת מוצר בריאקט» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אם ראינו הוספה ועדכון, מן הראוי שנראה גם מחיקה. הכל מוכן, בואו רק נעבור בזריזות ונראה איך זה בנוי, כי כמעט אין פה שום דבר חדש. הנה רכיב delete product, הנה אנחנו יכולים לראות שיש לנו פה ב-routing את ה-rout הזה, product/delete/ ואז את הקוד, ברגע שגולשים זה הרכיב שמוצג,
בתוך product details אנחנו יכולים לראות שיש כאן את הלינק שמוביל אותנו לקומפוננטה הזאת וכל מה שאנחנו עושים בקומפוננט הזה מציגים את המוצר ושואלים שאלה האם אתה רוצה למחוק את המוצר הזה.
אם כן אנחנו צריכים לגלוש לבאק ולמחוק את המוצר אז בואו נראה איך זה מתבצע. ב-delete product יש לנו כאן את הרכיב שקודם כל הוא מקבל דרך ה- route parameters את ה-id לב את ה-ID.
אני השתמשתי פה ב-Class Component כי אין לנו פה טורפס, אז אין לנו פה בכלל use form, אנחנו לא צריכים לקלוט שום דבר במקרה הזה מה-user.
אז יש לנו כאן את ה-State, שזה המוצר שאנחנו רוצים להביא ולהציג, הינה ה-ComponentDeadMount, הנה אנחנו גולשים לשרת ומביאים אותו. שוב, אנחנו לא נצטרך לעשות את הדבר הזה בהמשך, כשנראה איך נכון להעביר מידע בין קומפוננטות.
הנה ההגדרה של ה-State. יש לנו כאן פונקציה שהתפקיד שלה זה למחוק את המוצר, היא אסינכרונית. יש לנו פה פנייה דרך access, אבל עם delete.
אנחנו לא מקבלים שום דבר בחזרה מהשרת. כשמוחקים אז אנחנו לא רושמים פה product model או כל מיני דברים כאלה, כי השרת לא מחזיר שום דבר בתהליך המחיקה, זה נקרא סטטוס code 204 שנקרא no content.
אחרי מחיקה השרת בעצם, ברוב המקרים כן, הוא לא מחזיר שום דבר, הוא