
dispatch, כשל-Store עדיין אין אובייקט state? ההרצאה קצרה ומראה איך ה-reducer מתחיל את ה-state בעצמו.dispatch ה-Store שולח ל-reducer של המוצרים את ה-state ואת ה-action, אבל עדיין אין state.undefined.new ProductsState().הטקסט המלא של הדקות הראשונות בהרצאה «רידקס - הפעלה ראשונה של AppState - ריאקט» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הדבר הבא שכדאי לנו לבצע ושחשוב לנו להבין זה מה בעצם מתרחש בפעם הראשונה שאנחנו קוראים לסטור. כאשר אנחנו באים ועושים דיספאץ' בפעם הראשונה הראשונה, אז אנחנו אומרים לסטור, אוקיי, הנה אקשן, בואי תבצעי לי את הפעולה.
זאת אומרת, בואי תשלחי לפרודקט רדיוסר את האובייקט אפסטייט ואת האקשן, אבל בפעם הראשונה עדיין אין לסטור אובייקט אפסטייט.
אנחנו צריכים להתחיל אותו ליצור אובייקט כזה רק עבור הפעם הראשונה. אנחנו יכולים לבצע את הדבר הזה מחוץ לקובץ הזה, אבל אני מצאתי שזה יותר נוח פשוט לומר לקובץ הזה איכשהו, תכף נראה איך, שאם זאת הפעם הראשונה, נא לייצר אובייקט upstate חדש.
אז איך עושים את זה? כל מה שאנחנו צריכים להבין זה שבפעם הראשונה שאנחנו אומרים לסטור דיספאץ' אין לה אובייקט אפ סטייט ראשוני, אז היא שולחת לפרודקט רדיוסר undefined בפרמטר הראשון.
אם פונקציה מקבלת undefined, אפילו בג'אווה סקריפט או בטייפ סקריפט, אז היא יכולה להכניס למשתנה איזשהו default value. אם יש לה value שהיא קיבלה, אז היא תתעלם מה-default value.
כל מה שאנחנו יכולים לעשות זה להגדיר לקורנט סטייט דיפולט וליו שהינו New Products State הנה האובייקט החדש אם ה-Store קוראת ל-Reducer ואין לה State להעביר אז היא מעבירה לכאן Undefined ואז טייפ סקריפט תיקח את האובייקט הזה והנה יש לנו אובייקט חדש אם ל-Store יש כבר אובייקט סטייט אז היא תשלח
אותו וטייפ סקריפט יתעלם מהמשתנה הזה,