
combineReducers. השיעור משווה בין שני המצבים.createStore בקובץ Store.ts אובייקט שנוצר עם combineReducers. כל קריאה ל-store.getState() מחזירה אובייקט שמכיל את כל ה-States, ולכן ניגשים ל-productState ואז ל-products.createStore ישירות את ה-Reducer, בלי אובייקט.store.getState() מחזירה אז כבר את ה-State עצמו, ואין צורך בגישה ל-.productState. אפשר לגשת ישר ל-products.הטקסט המלא של הדקות הראשונות בהרצאה «שיטה לניהול Reducer אחד בלבד» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
משהו מעניין שכדאי לדעת זה מצב שבו בסטור שלנו יש רק Reducer אחד. כלומר, אנחנו מנהלים בכל האפליקציה רק AppState אחד.
בואו נניח שאנחנו מנהלים רק ProductState. כמובן, יש לנו גם את ה-ActionType ואת ה-Action ואת ה-ActionCreators ובסופו של דבר יש לנו את ה-Reducer, אבל אין לנו כמה סוגים שונים.
אין לנו לדוגמה גם אמפלואיז סטייט. למה הדבר הזה הוא קצת שונה? מפני שבמצב כזה יש כאן תחביר טיפה אחר שאנחנו יכולים להשתמש איתו.
אז בואו רגע נסתכל מה קורה ברוב המקרים. רוב המקרים יש לנו כמה סוגים שונים של סטייט באפליקציה, ולכן יש לנו פה את ה-Combined Reducers לתוך אובייקט אחד, אנחנו מכניסים אותו לתוך הפונקציה CreateStore בקובץ Store.ts, יש לנו את אובייקט ה-Store ובכל מקום שאנחנו רוצים להשתמש איתו אז
אנחנו רושמים Store.GetState, אולי רגע נסתכל על זה, נלך רגע לקומפוננטות, נניח יש לנו פה את ה-ProductsArea ויש לנו את ה-ProductList וב-ProductList אנחנו רוצים להגיע לרשימה של המוצרים.
אז הנה לדוגמה הקוד, אנחנו רושמים Store.GetState ואז יש לנו פה איזשהו אובייקט שמוחזר בחזרה. והאובייקט הזה מכיל בתוכו את כל הסטייטים השונים. הנה לדוגמה אנחנו רואים product state, הנה אנחנו רואים את ה-employees state, ממש אפשר לראות את זה, ואז אם אנחנו לוחצים על product state, אז יש לנו את המוצרים בתוכו,
products. זה ברור, ככה אנחנו עבדנו. אם יש לנו רק reducer אחד, אנחנו יכולים לעשות משהו קצת שונה. בואו רגע נשים את זה בהערה, ונראה מה בעצם אנחנו יכולים לבצע.