
useState חדש מסוג string, עם מחרוזת ריקה כערך דיפולט, שמחזיר זוג item ו-setItem.useState נוסף מסוג number, עם ערך דיפולט 0, שמחזיר זוג price ו-setPrice.setItem או setPrice) בלי שום צורך לשלוח את שדות ה-state האחרים, כי כל state מנוהל בנפרד.setItem או ל-setPrice React מרנדרת מחדש את הפונקציה, קוראת שוב לכל ה-useState-ים ומחזירה ערכים ופונקציות מעודכנים.הטקסט המלא של הדקות הראשונות בהרצאה «ניהול Multiple State Values ב-React Hooks» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בהרבה מקרים אנחנו לא נרצה לנהל בפונקצ'נל קומפורננט סטייט אובייקט אחד ויחיד כזה שאנחנו היינו צריכים לבצע את הפירוק וההרכבה הזה כאן.
מה שאנחנו יכולים לעשות זה משהו שלא היינו יכולים לעשות כל כך בקלאס קומפורנט וזה לנהל בצורה נפרדת את כל אחד מהמאפיינים של הסטייט. בואו נעשה את זה, בואו נשנה את הדוגמה הזאת בפונקצ'נל ככה כי לא יהיה לנו איזשהו אובייקט סטייט אחד כזה אלא שני סטייטים אחד זה האייטם ואחד זה הפרייס אז אני נפטר מהדבר הזה ביי ביי אין לי את
האינטרפייס הזה אני לא צריך אותו ניקח את כל זה ונשים כאן נשים רגע את זה פה בצד כי אנחנו נצטרך אותו בטח ואנחנו רוצים את זה להפוך לכזה שמנהל רק פריט אחד, רק את האייטם.
אייטם זה סטרינג, אז אני פשוט משנה אותו לסטרינג. ה-Default Value של הסטרינג היה מכרוזת ריקה, אז אני שולח לכל זה מכרוזת ריקה.
אני לא אקרא למערך שמוחזר State הרי, מפני שאני הולך לנהל שני סטייטים שונים. אני אקרא לו, בוא נניח, הרי זה ה-state שמנהל רק את האייטם הזה אז מן הסתם אני לא אקרא לו state פה אני אקרא לו item נכון כי אנחנו רוצים את הפריט עצמו זה אנחנו צריכים לשנות ל-item הרי ואני לא אקרא לו set state אני אקרא לו set item בואו
נשנה את זה ל-set item אני רוצה אותו רק פה ואז אני יכול לשלוח אליו רק את המחרוזת הזאת זה השינוי כל מה שאני רואה כרגע זה שלושת השורות קוד האלה זה רק בשביל לנהל את האייטם בלבד מה שהיה לנו מקודם רק פה רק את האייטם הזה לא את כל האובייקט כמובן שאין לי state נקודה אייטם יש לי פשוט אייטם אותו הדבר אנחנו רוצים לעשות עבור הפרייס אפילו אני אכתוב את זה מההתחלה const price array שווה
use state הסוג שלו זה number היה לנו default value שהוא היה 0. עכשיו אנחנו רוצים להוציא אותו, את ה-price עצמו להוציא ל-price הרי במיקום 0. ואנחנו רוצים set price, זאת פונקציה מיוחדת שיודעת רק לעדכן את ה-price ולא שום דבר אחר.
ואנחנו רוצים price הרי במיקום 1. הוצאנו את הפונקציה. אני פונה כאן, אני מוחק את זה, פונה רק לפונקציה set price. בואי תעדכני לי את ה-price, היה לנו ותציג כאן רק את הפרייס, זאת אומרת אין לנו בעיה ב-functional component להגיד וואלה כל use state אני משתמש איתה רק עבור פרופרטי