
dispatch ואת getState בכל חלקי האתר: פרטי מוצר, הוספה, עדכון, מחיקה ועובדים.store.getState().productState.products ומחפשים את המוצר ב-find לפי ה-ID שהתקבל. צריך להוסיף + כדי להפוך אותו למספר.dispatch עם פעולת הוספת מוצר, ושולחים את response data ולא את המוצר המקורי. הוא חסר ID, ובתשובה כבר יש מוצר עם ה-ID ושאר מה שהדאטאבייס יצר.dispatch עם פעולת עדכון המוצר ושולחים את המוצר המעודכן. כך ה-State תמיד מסונכרן עם השרת.dispatch עם פעולת המחיקה ושולחים את ה-ID של המוצר.alert עם הטקסט going to back end, והוא מוצג רק בכניסה הראשונה אחרי רענון.הטקסט המלא של הדקות הראשונות בהרצאה «שימוש ברידקס - Redux» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אחרי שראינו איך אנחנו מבצעים דיספאץ' ואיך אנחנו קוראים מידע, אנחנו בעצם רוצים לשלב את היכולות האלה בכל האתר הזה. אנחנו רוצים שגם בעובדים לדוגמה יהיה את אותו סיפור והוא ישלח את המידע לתוך רידאקס ויקרא את המידע מרידאקס אם הוא קיים.
ואנחנו רוצים בהוספה של מוצר ואנחנו רוצים בעדכון ובמחיקה. איך אנחנו משלבים את זה? מאוד סימפל בעזרת ה-dispatch וה-get state אנחנו יכולים לגשת לכל אחד מהמקומות שמשתמשים עם המידע ואו לבצע dispatch או לבצע get state בואו נראה איך אחד אחד אז product list סיימנו בואו ניגש לפרודקט details נבצע את זה במהירות הנה יש לנו כאן את הפרודקט
details ויש לנו כאן את ה-id ופה פה אנחנו רואים שהלכנו לשרת והבאנו את המידע. למה לנו לעשות את זה? הרי המידע בשלב הזה כבר קיים אצלנו, אז בואו פשוט נקרא אותו מתוך Redux.
אז מה שאנחנו רוצים לעשות זה להביא את כל המוצרים, const products, store, get state, product state, products, והנה יש לנו את כל המוצרים.
באמת אולי נחפש כבר את המוצר הספציפי שאנחנו רוצים, ניגש ל-Find ונאתר מוצר שה-ID שלו שווה ל-ID שהתקבל, פה אנחנו צריכים פלוס כי זה Number וזהו, אין לנו שום צורך בכל זה, אין לנו צורך ללכת ל-Back End, ביי ביי, והנה אנחנו יכולים להשתמש עם המוצר עצמו, זה יהיה Get Details הזה.
בואו נבדוק את get details, הנה צ'אי והנה אנחנו רואים את צ'אי, הכל עובד. בואו נבצע את זה בהוספה, ניגש ל-add product, ובואו ניגש לפה, אני רואה שבכל מקום אנחנו צריכים להוסיף את ה-any הזה, וזה אנחנו לא כל כך צריכים, ויש לנו כאן שליחת המידע לשרת.
זה בסדר, אני כן רוצה לשלוח את המידע לבק אנד, כי אין אותו בבק אנד, אוקיי? זה מוצר חדש שהיוזר הוסיף, אבל אחרי ששלחתי אותו ל-Backend והוא נמצא לי, פה אני רוצה להוסיף אותו ל-Redux.
Store.Dispatch כי אני רוצה לשלוח אותו ואנחנו רוצים To Add Product Action ולתת לו את ה-Product To Add. ה-Product To Add, אני ארשום אותו פה, האמת לא, בעצם זה יהיה ה-Response Data.
זה ה-Product To Add, אפשר האמת, Product To Add דאטה שזה יהיה קצת יותר ברור מה אנחנו שולחים.
שימו לב שאני לא שולח את זה כי זה חסר לו ID. ה-Backend מביא לי מוצר שכולל ID ואולי הוא כולל עוד כל מיני דברים שהדאטאבייס יצר ואז אותו אני רוצה, את המוצר האמיתי שהדאטאבייס החזיר לי.
והנה יש לנו עכשיו יכולת שהמוצר הזה בנוסף לזה שהוא נשלח ל-Back הוא גם נמצא ב-Global State אצלנו. בואו ניגש ונוסיף איזשהו מוצר אז בואו ניגש ונבדוק את זה נוסיף אורנג' פרייס 10 סטוק 100 choose file in a orange open add אנחנו רואים שהוא הוסיף את זה לבאק ואם אנחנו יורדים פה למטה אנחנו אמורים לראות את האורנג' החדש שהתווסף אורנג' 10 100 אתם
יכולים להגיד נו ברור הלכת לשרת והבאת? לא, לא הלכנו לשרת בפעם השנייה כי בדקנו, ראינו שיש לנו מוצרים, אין צורך ללכת אבל עדיין אנחנו רואים את המוצר.
זה אומר שהוא קיים מקומית ברילאקס בגלובל סטייט. נשאר לנו לטפל באדיט, דיליט ובאמפלואיז. בואו נטפל באדיט.
למעשה זה מאוד דומה לזה, אני אעתיק את זה. ניגש, הנה אדיט ואיפה אנחנו שולחים את המידע? זה אמור להיות אני, בסדר.