PracticU

שימוש ברידקס - Redux

בלי כתוביותעם כתוביות
PracticU › קורס ריאקט - React › שימוש ברידקס - Redux
מילון מושגים:
צד שרת - החלק של היישום שרץ בשרת ואחראי על הלוגיקה, מסדי הנתונים והעיבוד שמאחורי הקלעים.
תגובה - המידע שהשרת מחזיר ללקוח בתשובה לבקשה, הכולל בדרך כלל נתונים וקוד סטטוס.
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
סטייט - המידע על מצבו הנוכחי של רכיב או אפליקציה בזמן נתון, שמשתנה ומשפיע על מה שמוצג.

שימוש ברידקס - Redux
אחרי שנבנתה תשתית Redux, השיעור משלב את dispatch ואת getState בכל חלקי האתר: פרטי מוצר, הוספה, עדכון, מחיקה ועובדים.
השלבים העיקריים
1. פרטי מוצר: במקום לפנות ל-Backend, קוראים את כל המוצרים מ-store.getState().productState.products ומחפשים את המוצר ב-find לפי ה-ID שהתקבל. צריך להוסיף + כדי להפוך אותו למספר.
2. הוספת מוצר: המוצר עדיין נשלח ל-Backend, כי הוא חדש. אחרי התשובה עושים dispatch עם פעולת הוספת מוצר, ושולחים את response data ולא את המוצר המקורי. הוא חסר ID, ובתשובה כבר יש מוצר עם ה-ID ושאר מה שהדאטאבייס יצר.
3. בדיקת ההוספה: המוצר שנוסף מופיע ברשימה בלי פנייה שנייה לשרת, כלומר הוא נמצא מקומית ב-Redux.
4. עדכון מוצר: גם כאן שולחים ל-Backend, ואחרי התשובה עושים dispatch עם פעולת עדכון המוצר ושולחים את המוצר המעודכן. כך ה-State תמיד מסונכרן עם השרת.
5. מחיקת מוצר: אחרי שה-Backend מחק, עושים dispatch עם פעולת המחיקה ושולחים את ה-ID של המוצר.
6. עובדים: בודקים אם אורך רשימת העובדים ב-State הוא 0. אם כן, מביאים אותם מה-Backend ושולחים ל-Redux עם פעולת קביעת כל העובדים, ובכל מקרה קוראים אותם מ-Redux.
אימות
הוספה, עדכון ומחיקה נבדקים ויזואלית: המוצר החדש, השם והמחיר המעודכנים וההיעלמות של המוצר נראים ברשימה בלי המתנה של שלוש שניות. אצל העובדים מוכנס alert עם הטקסט going to back end, והוא מוצג רק בכניסה הראשונה אחרי רענון.
אחרי השיעור כל חלק באתר קורא ומעדכן את המידע דרך Redux ופונה לשרת רק כשצריך.
השיעור הבא בקורס: האזנה לשינויים ברידקס Redux Subscribing to Store Changes

פרקי ההרצאה: שימוש ברידקס - Redux

  1. 00:00

    שילוב Redux בכל האתר

  2. 00:46

    קריאת מוצר ב-Product Details

  3. 02:02

    הוספת מוצר עם Dispatch

  4. 02:38

    שליחת Add Product Action

  5. 03:44

    בדיקת המוצר שנוסף מקומית

  6. 04:24

    טיפול בעדכון מוצר

תמלול ההרצאה: שימוש ברידקס - Redux

הטקסט המלא של הדקות הראשונות בהרצאה «שימוש ברידקס - Redux» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    אחרי שראינו איך אנחנו מבצעים דיספאץ' ואיך אנחנו קוראים מידע, אנחנו בעצם רוצים לשלב את היכולות האלה בכל האתר הזה. אנחנו רוצים שגם בעובדים לדוגמה יהיה את אותו סיפור והוא ישלח את המידע לתוך רידאקס ויקרא את המידע מרידאקס אם הוא קיים.

  2. 00:24

    ואנחנו רוצים בהוספה של מוצר ואנחנו רוצים בעדכון ובמחיקה. איך אנחנו משלבים את זה? מאוד סימפל בעזרת ה-dispatch וה-get state אנחנו יכולים לגשת לכל אחד מהמקומות שמשתמשים עם המידע ואו לבצע dispatch או לבצע get state בואו נראה איך אחד אחד אז product list סיימנו בואו ניגש לפרודקט details נבצע את זה במהירות הנה יש לנו כאן את הפרודקט

  3. 00:56

    details ויש לנו כאן את ה-id ופה פה אנחנו רואים שהלכנו לשרת והבאנו את המידע. למה לנו לעשות את זה? הרי המידע בשלב הזה כבר קיים אצלנו, אז בואו פשוט נקרא אותו מתוך Redux.

  4. 01:15

    אז מה שאנחנו רוצים לעשות זה להביא את כל המוצרים, const products, store, get state, product state, products, והנה יש לנו את כל המוצרים.

  5. 01:30

    באמת אולי נחפש כבר את המוצר הספציפי שאנחנו רוצים, ניגש ל-Find ונאתר מוצר שה-ID שלו שווה ל-ID שהתקבל, פה אנחנו צריכים פלוס כי זה Number וזהו, אין לנו שום צורך בכל זה, אין לנו צורך ללכת ל-Back End, ביי ביי, והנה אנחנו יכולים להשתמש עם המוצר עצמו, זה יהיה Get Details הזה.

  6. 02:00

    בואו נבדוק את get details, הנה צ'אי והנה אנחנו רואים את צ'אי, הכל עובד. בואו נבצע את זה בהוספה, ניגש ל-add product, ובואו ניגש לפה, אני רואה שבכל מקום אנחנו צריכים להוסיף את ה-any הזה, וזה אנחנו לא כל כך צריכים, ויש לנו כאן שליחת המידע לשרת.

  7. 02:23

    זה בסדר, אני כן רוצה לשלוח את המידע לבק אנד, כי אין אותו בבק אנד, אוקיי? זה מוצר חדש שהיוזר הוסיף, אבל אחרי ששלחתי אותו ל-Backend והוא נמצא לי, פה אני רוצה להוסיף אותו ל-Redux.

  8. 02:38

    Store.Dispatch כי אני רוצה לשלוח אותו ואנחנו רוצים To Add Product Action ולתת לו את ה-Product To Add. ה-Product To Add, אני ארשום אותו פה, האמת לא, בעצם זה יהיה ה-Response Data.

  9. 02:57

    זה ה-Product To Add, אפשר האמת, Product To Add דאטה שזה יהיה קצת יותר ברור מה אנחנו שולחים.

  10. 03:06

    שימו לב שאני לא שולח את זה כי זה חסר לו ID. ה-Backend מביא לי מוצר שכולל ID ואולי הוא כולל עוד כל מיני דברים שהדאטאבייס יצר ואז אותו אני רוצה, את המוצר האמיתי שהדאטאבייס החזיר לי.

  11. 03:23

    והנה יש לנו עכשיו יכולת שהמוצר הזה בנוסף לזה שהוא נשלח ל-Back הוא גם נמצא ב-Global State אצלנו. בואו ניגש ונוסיף איזשהו מוצר אז בואו ניגש ונבדוק את זה נוסיף אורנג' פרייס 10 סטוק 100 choose file in a orange open add אנחנו רואים שהוא הוסיף את זה לבאק ואם אנחנו יורדים פה למטה אנחנו אמורים לראות את האורנג' החדש שהתווסף אורנג' 10 100 אתם

  12. 04:01

    יכולים להגיד נו ברור הלכת לשרת והבאת? לא, לא הלכנו לשרת בפעם השנייה כי בדקנו, ראינו שיש לנו מוצרים, אין צורך ללכת אבל עדיין אנחנו רואים את המוצר.

  13. 04:12

    זה אומר שהוא קיים מקומית ברילאקס בגלובל סטייט. נשאר לנו לטפל באדיט, דיליט ובאמפלואיז. בואו נטפל באדיט.

  14. 04:26

    למעשה זה מאוד דומה לזה, אני אעתיק את זה. ניגש, הנה אדיט ואיפה אנחנו שולחים את המידע? זה אמור להיות אני, בסדר.

לקורס המלא: קורס ריאקט אונליין

ההרצאה הקודמת: רידקס - Reading Data from the Store

ההרצאה הבאה: האזנה לשינויים ברידקס - Redux Subscribing to Store Changes

הרצאות קשורות מקורסים אחרים

  • שימוש ב-NuGet
  • שימוש ב-ModelState
  • בדיקות מקרי שימוש
  • שימוש בנתונים מ-CSV

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס NodeJS