PracticU

שיטה לניהול Reducer אחד בלבד

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

שיטה לניהול Reducer אחד בלבד
כשבאפליקציה יש רק Reducer אחד, אפשר ליצור את ה-store בתחביר פשוט יותר, בלי combineReducers. השיעור משווה בין שני המצבים.
ההבדל בין שני התחבירים
1. כמה Reducers: כשיש כמה סוגי State, למשל מוצרים ועובדים, מעבירים ל-createStore בקובץ Store.ts אובייקט שנוצר עם combineReducers. כל קריאה ל-store.getState() מחזירה אובייקט שמכיל את כל ה-States, ולכן ניגשים ל-productState ואז ל-products.
2. Reducer יחיד: אם יש רק AppState אחד, למשל ProductState, מעבירים ל-createStore ישירות את ה-Reducer, בלי אובייקט.
3. הגישה למידע: store.getState() מחזירה אז כבר את ה-State עצמו, ואין צורך בגישה ל-.productState. אפשר לגשת ישר ל-products.
שימו לב
התחביר הזה מתאים רק כשיש Reducer יחיד. בפרויקט שבשיעור יש כמה Reducers, ולכן המרצה החזיר את ההגדרה המקורית ורשם את התחביר החלופי בהערה.
אחרי השיעור אפשר לבחור את התחביר שמתאים למספר ה-Reducers באפליקציה.
השיעור הבא בקורס: רידקס - יצירת Data Service

פרקי ההרצאה: שיטה לניהול Reducer אחד בלבד

  1. 00:00

    הכרת מצב Reducer יחיד

  2. 00:38

    מקרה רגיל עם Combined Reducers

  3. 01:10

    גישה למוצרים עם Store GetState

  4. 01:46

    תחביר מקוצר ל-Reducer יחיד

תמלול ההרצאה: שיטה לניהול Reducer אחד בלבד

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

  1. 00:02

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

  2. 00:16

    בואו נניח שאנחנו מנהלים רק ProductState. כמובן, יש לנו גם את ה-ActionType ואת ה-Action ואת ה-ActionCreators ובסופו של דבר יש לנו את ה-Reducer, אבל אין לנו כמה סוגים שונים.

  3. 00:30

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

  4. 00:40

    אז בואו רגע נסתכל מה קורה ברוב המקרים. רוב המקרים יש לנו כמה סוגים שונים של סטייט באפליקציה, ולכן יש לנו פה את ה-Combined Reducers לתוך אובייקט אחד, אנחנו מכניסים אותו לתוך הפונקציה CreateStore בקובץ Store.ts, יש לנו את אובייקט ה-Store ובכל מקום שאנחנו רוצים להשתמש איתו אז

  5. 01:03

    אנחנו רושמים Store.GetState, אולי רגע נסתכל על זה, נלך רגע לקומפוננטות, נניח יש לנו פה את ה-ProductsArea ויש לנו את ה-ProductList וב-ProductList אנחנו רוצים להגיע לרשימה של המוצרים.

  6. 01:20

    אז הנה לדוגמה הקוד, אנחנו רושמים Store.GetState ואז יש לנו פה איזשהו אובייקט שמוחזר בחזרה. והאובייקט הזה מכיל בתוכו את כל הסטייטים השונים. הנה לדוגמה אנחנו רואים product state, הנה אנחנו רואים את ה-employees state, ממש אפשר לראות את זה, ואז אם אנחנו לוחצים על product state, אז יש לנו את המוצרים בתוכו,

  7. 01:46

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

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

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

ההרצאה הבאה: רידקס - יצירת Data Service

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

  • עדכון רשומה - שיטה ראשונה
  • משתנים לקריאה בלבד - readonly
  • הגדרת כתובת IP - לניהול ESXi
  • הרבה קונטיינרים - בפוד אחד - חלק 1

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

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