עזרים לחיבור של Vuex עם Composition API

David Meir-Levy | 4/26/2020, 12:03:49 PM

ספריה שפיתחתי כדי לפתור בעיה נישתית מאוד בעולם של Vue, ואיכשהו יש לה משתמשים.
מה קורה כש-API שעדיין לא מוסבר היטב, צריך לעבוד בפלטפורמה קיימת?

עזרים לחיבור של Vuex עם Composition API

אני אתחיל מהסוף: הספריה vuex-composition-helpers היא מה שאתם צריכים במקרה שאתם רוצים לחבר את Vuex יחס עם ה-Composition API בצורה קלה ונוחה.

הרעיון של הספריה התחיל כאשר השתכנעתי, שלעבוד עם Vuex בפרויקט שקיימת בו האפשרות להשתמש ב-Composition API, זה כמעט מיותר.
יש בהחלט דרכים טובות ונוחות יותר לנהל סטייט אפליקטיבי, ריאקטיבי, ממודל, בלי כל ה-overhead של מודלים שצריכים סייקל שלם של אקשנים, מיוטיישנים, גטרים ועוד.
ממש הרגיש לי, שאני עובד בלהעתיק ולהדביק המון דברים שחוזרים על עצמם, רק כדי להרגיש טוב עם עצמי שאני לא סתם משנה פרופרטי באובייקט, למרות שזה כל מה שזה עושה בפועל.

אז אחרי שמבינים למה ממש יותר נוח ליצור קומפוזיציה שתטפל באותו הסטייט, ולהשתמש בה בקומפוננות (של Vue במקרה הזה), אז אפשר להבין למה אין צורך ב-Vuex בפרוייקטים כאלו.

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

בנקודה הזאת, אז אתם מגיעים לנקודה שאתם עובדים עם Composition API, ואתם כבר לא רוצים להשתמש ב-Vuex (או אולי כן), אז מה שחסר לכם בנקודה הנוכחית, אלו פונקציות-עזר נוחות וקלות, שיאפשרו להם להשתמש בסטור של Vuex, בתוך הסינטקס של הקומפוזיציות. פונקציות כמו אלו שקיימות כבר ב-Vuex עבור ה-API הרגיל של Vue (ה-Options API).

ואז אתם מגלים שזה לא קיים..  מה?

כן כן, בחיי. לא רק שזה לא קיים - אפילו העליתי תיקון לפרויקט הראשי של Vuex שמאפשר שימשו בפונקציות העזר הללו גם ל-API החדש.

התשובה שלהם היתה: ״זה לא באג, זה פיצ׳ר״. הם טענו שפונקציות העזר הללו, לא נועדו לשימוש עבור ה-Composition API, ושם יציעו בעתיד פתרון טוב אחר.

העתיד כבר כאן, ולא כ״כ יכולתי לחכות, אז כתבתי את הפתרון בעצמי.  אז אתם יכולים להשתמש בו, אם בא לכם.

Related tags: 
Powered by © Greenpress 2019.