Cleanup / Context / Revert (مدیریت انیمیشنها در پروژههای بزرگ)
در GSAP، وقتی پروژههای بزرگ یا SPA (Single Page Application) میسازید، مدیریت انیمیشنها، منابع و حافظه اهمیت زیادی پیدا میکند.
قابلیتهای Cleanup، Context و Revert برای این کار طراحی شدهاند تا انیمیشنها به صورت ایمن و قابل کنترل ساخته و پاک شوند.
🟢 1️⃣ GSAP Context
-
Context یک محیط محدود برای انیمیشنها است.
-
اجازه میدهد تمام Tweenها و Timelineهای داخل آن با یک دستور پاک شوند.
-
مخصوصاً در React، Vue یا پروژههای SPA بسیار مفید است.
ساخت Context
-
تمام Tweenهای داخل تابع به ctx وابستهاند.
-
برای پاک کردن:
🟡 2️⃣ Cleanup (پاکسازی منابع)
-
در پروژههای بزرگ، انیمیشنها اگر پاک نشوند، باعث memory leak میشوند.
-
با Context یا
()kill
میتوان انیمیشنها را حذف کرد:
-
برای Timeline:
🟠 3️⃣ Revert (بازگرداندن استایلها)
-
وقتی از Context استفاده میکنید،
()revert
تمام تغییرات انیمیشن را برمیگرداند. -
این شامل Tweenهای اجرا شده و تغییرات CSS inline میشود.
-
این کار برای تعویض صفحات، حذف کامپوننت یا Reset UI بسیار کاربردی است.
🟣 4️⃣ مثال ترکیبی در React / SPA
-
بدون Context، باید تکتک Tweenها و Timelineها را پاک میکردید.
-
با Context + Revert، مدیریت بسیار ساده میشود.
🟤 نکات حرفهای
-
Context مخصوص المانها: برای هر بخش یا کامپوننت یک Context بسازید.
-
پاکسازی Timelineها و Tweenها:
()kill
یا()revert
جلوگیری میکند از memory leak. -
Stagger و Keyframes: Context آنها را هم پوشش میدهد، نیازی به مدیریت جداگانه نیست.
-
بازگشت استایل: Revert فقط Tweenها را نمیکشد، بلکه CSS inline تغییر یافته را هم برمیگرداند.
✅ جمعبندی
ویژگی | کاربرد |
---|---|
Context | گروهبندی انیمیشنها برای کنترل و پاکسازی راحت |
revert() | بازگرداندن همه استایلها و توقف انیمیشنها |
kill() | متوقف کردن و آزادسازی منابع یک Tween یا Timeline |
استفاده در پروژه بزرگ | جلوگیری از memory leak، مدیریت آسان انیمیشنها، هماهنگی با SPA |
با استفاده از Context و Revert، میتوانید در پروژههای بزرگ انیمیشنها را ایمن، قابل کنترل و پاکیزه مدیریت کنید.