מבולבל בין useState ו-useReducer ב-React? גלה את וו ניהול המדינה הטוב ביותר עבור הצרכים שלך במדריך מועיל זה.
אם אתה רוצה להשיג עבודה בפיתוח אתרים, יהיה לך סיכוי טוב יותר להצליח אם תלמד את ספריית React JavaScript. React היא אחת הספריות הנפוצות ביותר בתעשייה. ואחד המאפיינים המעניינים ביותר של ספריית React הוא הרעיון של ווים.
Hooks הם פשוט פונקציות JavaScript המבודדות ומאפשרות לך לעשות שימוש חוזר בלוגיקה באפליקציית React. לניהול המדינה, יש שני ווים עיקריים העומדים לרשותך - ה useState וו וה useReducer וו.
סקירה כללית של useState Hook
ה useState hook היא הדרך הנפוצה ביותר לטפל במצב ב-React. התחביר שלהלן ממחיש כיצד להשתמש בווק זה ביישום שלך:
לְעוּמַת useState, ב useReducer, יש מדינה משתנה וא לְשַׁגֵר פונקציה ששולחת פעולות עד ל- מפחית פונקציה שמטפלת במטענים ומעדכנת את מדינה.
לדוגמה, נניח שאתה בונה יישום מונה פשוט עם כפתורים שיכולים לאפס את המונה, להגדיל את ערך המונה או להקטין את ערך המונה. באמצעות useState הקוד שלך ייראה בערך כך:
פוּנקצִיָהדֶלְפֵּק(){
const [count, setCount] = useState(0);
לַחֲזוֹר(
הספירה היא: {count}
היישום לעיל עובד בצורה מושלמת. אבל אתה יכול גם להשיג את אותן תוצאות בעזרת ה useReducer וו.
דוגמה זו נועדה פשוט להדגים כיצד useReducer וו עובד. באפליקציה בעולם האמיתי, useReducer מוגזם עבור התרחיש הזה.
useReducer מקל על הטיפול במצבים קשורים והיגיון מורכב המבוסס על סוּג עבר בשולח פעולה לְהִתְנַגֵד.
לדוגמה, פונקציית השיגור יכולה לשלוח פעולה אובייקט שנראה בערך כך:
{סוּג:"סוג פעולה", מטען:מדינה * 2}
ראשית ייבא את useReducer וו, ואז הגדר את מפחית פונקציה עם הפרמטרים: מדינה והמפורקים פעולה לְהִתְנַגֵד.
בבלוק הקוד למעלה, הכפתור הראשון משגר פעולה מסוג מספר הגדלה עם מטען של ספירה + 1. פעולה זו אחראית להגדלת ערך הספירה.
הכפתור השני משגר פעולה מסוג countReset עם מטען של 0 שמאפס את ערך הספירה בחזרה ל-0.
הכפתור השלישי משגר פעולה מסוג ספירה ירידה עם מטען של ספירה - 1 מה שמקטין את ערך הספירה ב-1.
בחירה בין useState ל-useReducer Hooks
עכשיו, שאתה מבין איך להשתמש useState ו useReducer ווים, חשוב לדעת מתי להשתמש נכון.
אם המדינה שלך לא דורש היגיון מורכב, אז ברור להשתמש useReducer יכול להיות מוגזם.
אם המדינה שלך היא משהו חוץ פרימיטיבים של JavaScript כמו מספרים, מחרוזות וערכים בוליאניים, כדאי להשתמש ב- useState וו. ואם סוג המצב הוא אובייקט או מערך, אז כדאי לשקול להשתמש useReducer במקום זאת.
ככל שהיישום שלך גדל במורכבות, זה הופך להיות קשה לטפל במצב רק עם useState ו useReducer ווים.
זה מתי אתה יכול להשתמש בספריות חיצוניות כמו Redux, ג'וטאי וזוסטנד. ספריות אלו מקלות על הטיפול בשינויי מצב על פני מספר רכיבים.
הפיכת ניהול המדינה לקל יותר עם ספריות JavaScript
לספריות כמו React, Vue ו-Svelte יש דרכים משלהן לטפל במצב. טיפול בניהול מצב בעצמך עם וניל JavaScript הוא בהחלט משהו שאתה יכול לנסות, אבל הרבה יותר קל ונוח להשתמש בספריית JavaScript שנבדקה בקרב.
אם אתה בונה יישום מורכב באמצעות React שבו אתה צריך לנהל מספר רכיבים, Redux עשויה להיות הבחירה הטובה ביותר עבורך.