PracticU

רידקס - Dispatching Data to the Store

בלי כתוביותעם כתוביות
PracticU › קורס ריאקט - React › רידקס - Dispatching Data to the Store
מילון מושגים:
סטייט - המידע על מצבו הנוכחי של רכיב או אפליקציה בזמן נתון, שמשתנה ומשפיע על מה שמוצג.
רכיב - יחידת בניין עצמאית וניתנת לשימוש חוזר בתוך מערכת או ממשק משתמש, שאחראית על חלק מוגדר מהתפקוד.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
תגובה - המידע שהשרת מחזיר ללקוח בתשובה לבקשה, הכולל בדרך כלל נתונים וקוד סטטוס.
ספרייה - אוסף קוד מוכן, כמו פונקציות ומחלקות, שמפתחים משתמשים בו בתוכניותיהם במקום לכתוב הכול מחדש.
צד שרת - החלק של היישום שרץ בשרת ואחראי על הלוגיקה, מסדי הנתונים והעיבוד שמאחורי הקלעים.
Northwind - מסד נתונים לדוגמה של מיקרוסופט, המדמה חברת מסחר ומשמש ללימוד ולהדגמת שאילתות SQL.
npm - מנהל החבילות של Node.js, המשמש להתקנה ולניהול ספריות JavaScript בפרויקט.

רידקס - Dispatching Data to the Store
כשהתשתית של Redux מוכנה, משתמשים בה בקומפוננטות. יש ארבע פעולות מרכזיות: לשלוח מידע ל-Global State, לקרוא ממנו, להאזין לשינויים ולהפסיק להאזין. ההרצאה מראה את הראשונה: שליחה.
השלבים
1. המקום: ב-ProductList מביאים בקומפוננטה את המוצרים מהשרת (ב-componentDidMount), ורוצים לשמור אותם גם ב-Redux, כדי שגם קומפוננטות אחרות יוכלו לקרוא אותם.
2. dispatch: פונים ל-store וקוראים ל-store.dispatch.
3. הפעולה: שולחים אובייקט action שנוצר בפונקציה setAllProductsAction, שמקבלת את כל המוצרים ומחזירה action מסוג SetAllProducts.
4. הקוד: store.dispatch(setAllProductsAction(products)), כש-products הוא response.data שהגיע מהשרת. המוצרים נשמרים גם ב-state המקומי וגם ב-Redux.
5. בדיקה: מדפיסים בקונסול את newState.products ב-reducer, וכל המוצרים מופיעים. אחרי הבדיקה מוחקים את ה-console.log.
שימו לב
- בגרסה מסוימת של הספרייה הייתה שגיאת טיפוס, שנפתרה בעזרת הגדרת any.
- בשרת הבדיקה צריך להפעיל את ה-Backend (northwind) ולהריץ npm start.
- באמצע הבדיקה הייתה קריסה זמנית שחלפה מעצמה, והמרצה לא מצא סיבה.
אחרי ההרצאה אפשר לשלוח מידע ל-Redux עם dispatch, וההרצאה הבאה מראה איך לקרוא אותו בחזרה.
השיעור הבא בקורס: רידקס - Reading Data from the Store

פרקי ההרצאה: רידקס - Dispatching Data to the Store

  1. 00:00

    שימוש בתשתית Redux

  2. 00:38

    שליחת רשימת מוצרים ל-Store

  3. 01:14

    הפעלת ה-backend של Northwind

  4. 01:48

    ביצוע Dispatch של Action

תמלול ההרצאה: רידקס - Dispatching Data to the Store

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

  1. 00:02

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

  2. 00:24

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

  3. 00:34

    אנחנו רוצים לראות איך מבצעים את כל אחת מהפעולות האלה. אז נתחיל עם שליחת מידע. יש לנו פה את רשימת המוצרים כאן והדבר הראשון שאנחנו רוצים לעשות זה לשלוח את המוצרים לתוך Redux.

  4. 00:52

    אז אם אנחנו מסתכלים רגע על הקומפוננטה הזאת של המוצרים אנחנו רואים יש לנו פה product list ובקומפוננט did mount אנחנו בעצם רוצים לגלוש לשרת להביא את רשימת המוצרים ולהציג אותם בתוך הקומפוננטה.

  5. 01:10

    בינתיים ניתן לו להתחיל לרוץ כי אני רואה שהוא לא רץ לי npm start go ונדליק את northwind שיהיה לנו פה את ה-backend מעולה ואנחנו אנחנו רוצים פשוט מאוד ברגע שקיבלנו את המוצרים אלינו, אנחנו רוצים גם להכניס אותם ל-Global State של Redux, לכאן Product State,

  6. 01:37

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

  7. 01:46

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

  8. 01:57

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

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

ההרצאה הקודמת: יצירת Store ב-Redux

ההרצאה הבאה: רידקס - Reading Data from the Store

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

  • Data Contracts
  • Data Driven Test - חלק 1
  • Variables and Data Types
  • הסבר על Data Warehouse

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

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