
subscribe, ולמה זה נחשב נוהג טוב גם כשהקומפוננטה מוצגת כל הזמן.componentDidMount, ולכן מפסיקים אותה ב-componentWillUnmount, כשהמערכת הורסת את הרכיב.subscribe מחזירה פונקציה שמבטלת בדיוק את אותה ההאזנה. הדוגמה: פונקציה a שמחזירה פונקציה, ומשתנה b שמקבל אותה וקוראים לו כפונקציה.private בשם unsubscribeMe מסוג Unsubscribe של Redux ומציבים בו את התוצאה של store.subscribe. ב-componentWillUnmount קוראים ל-this.unsubscribeMe().alert של unsubscribe שמוצג בעת היציאה מהקומפוננטה, לאחר שהקומפוננטה הוחזרה זמנית לפרטי מוצר כדי שייווצר ויושמד. ה-alert הופיע, ואז הוסר מהקוד.הטקסט המלא של הדקות הראשונות בהרצאה «הפסקת האזנה לשינויים ברידקס Redux Unsubscribing to Store Changes» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
והדבר האחרון שרידאקס מאפשרת לנו זה להפסיק להאזין. וקודם כל השאלה הנשאלת זה למה לנו להפסיק להאזין? מה רע בהאזנה הזאת? כאשר אתם מבצעים סאבסקרייב לכל דבר, סאבסקרייב זולל משאבים ופרפורמנס.
זה בעצם משהו שהוא נכון לגבי המון דברים שמאזינים. יותר הוא זולל פרפורמנס מאשר משאבים, זה משהו שכאילו מעיק על המערכת ואנחנו צריכים להפסיק אותו. עכשיו, אתם יכולים להגיד, רגע, מתי אתה רוצה להפסיק את ההאזנה? הרי תמיד הקומפוננטה הזאת מוצגת, למה לך להפסיק להאזין?
אז אתם צודקים לגמרי. אם הקומפוננטה תמיד תמיד מוצגת, אוקיי, אז תמיד אני צריך להאזין, אני לא צריך להפסיק להאזין, אבל זה תמיד good practice להפסיק להאזין כשאני לא צריך יותר את הקומפוננטה.
אפילו שהיא נמצאת באופן תמידי על הדף, לדוגמה באזור של ה-Layout. אז מתי אני רוצה להפסיק להאזין? אנחנו התחלנו את ההאזנה ב-Component did mount.
אנחנו רוצים להפסיק להאזין כשהקומפוננטה הזאת כבר מפסיקה להיות בשימוש, אפילו שהיא מוצגת לכל אורך חיי האתר. עדיין קונספטואלית, אם נניח אני פשוט עובר לאתר אחר אולי, המערכת תפעיל את כל הדברים שהורסים את האתר שלנו, אולי זה המצב שמתרחש, אנחנו רוצים שהיא גם תפסיק להאזין.
וזה כמובן מתבצע ב-Component will un-mount שלמדנו בעבר. Component will un-mount מתבצע כאשר הרכיב שלנו לא נדרש יותר והמערכת הורסת אותו. בשלב הזה בדיוק אנחנו רוצים להפסיק להאזין.
אז איך אנחנו מפסיקים להאזין? סאבסקרייב יכולה להיקרא בכל מיני מקומות באתר שלנו. הרבה קומפוננטות יכולות להאזין. כאשר אני מבצע הפסקה של האזנה פה, אני רוצה להפסיק רק את ההאזנה הזאת ולא האזנות אחרות שיכולות להיות בכל רחבי האתר.
יכול להיות שכל מיני קומפוננטות, אפילו כל מיני קארדים כאלה, מאזינים לכל מיני דברים. אני רוצה להפסיק להאזין רק לעצמי למי שפה עשה סאבסקרייב לא לכל האזנות של כל רידאקס כמובן איך זה מתבצע כל סאבסקרייב מחזירה משהו שנקרא אנסאבסקרייב אנסאבסקרייב זאת
פונקציה וזה יכול להיות טיפה לבלבל סאבסקרייב זאת פונקציה והיא מחזירה value שהvalue שלה זה גם פונקציה אוקיי איך זה יכול להיות אז ברור שבפיתוח תוכנה, או ב-JavaScript בעיקר, פונקציה זה value.
אז אם יש לי פה function a, אנחנו כמובן יכולים to return 1, 2, 3, או to return i, או to return function כלשהי, שעושה משהו. אם אנחנו עכשיו קוראים ל-a על ידי משתנה b