React (هوک useGSAP)
در نسخههای جدید GSAP (۴ و بالاتر) کتابخانهی رسمی @gsap/react یک هوک سفارشی به نام useGSAP ارائه میکند که کار با GSAP در کامپوننتهای React (بهویژه با React 18 و معماری Concurrent) را ساده و ایمن میکند.
🔹 نصب
یا با Yarn:
🔸 ایدهٔ اصلی
هوک useGSAP:
-
انیمیشنهای شما را پس از mount شدن عنصر اجرا میکند.
-
از Context داخلی GSAP استفاده میکند تا هنگام unmount شدن کامپوننت، همه انیمیشنها خودکار cleanup شوند (نیازی به دستی پاک کردن نیست).
-
شبیه
useLayoutEffectعمل میکند ولی بهینهتر برای GSAP است.
🟢 مثال پایه
-
تمام انیمیشنهای تعریفشده در کالبک
useGSAPبهطور خودکار در context قرار میگیرند و هنگام خروج از DOM پاک میشوند.
🟡 استفاده از انتخابگر (selector)
useGSAP دومین آرگومان اختیاری میگیرد که scope نام دارد؛ این امکان میدهد با ()context.selector مثل jQuery انتخاب انجام دهید:
🟠 Timeline در React
میتوانید تایملاین را داخل useGSAP بسازید و بعداً آن را کنترل کنید:
⚡ نکات حرفهای
-
استفاده با ScrollTrigger
پلاگینها را قبل از استفاده ثبت کنید: -
SSR (Next.js / Remix)
-
هوک فقط در سمت کلاینت اجرا میشود.
-
اطمینان حاصل کنید که
windowوجود دارد (کد GSAP را در کامپوننتهای Client-only بنویسید).
-
-
تفاوت با useEffect/useLayoutEffect
-
useGSAPخودش ازuseLayoutEffectاستفاده میکند و با GSAP Context ادغام شده است. -
نیازی به
return () => ctx.revert()نیست؛ خودکار انجام میشود.
-
✅ خلاصه
-
useGSAP→ هوک رسمی برای React. -
تمام انیمیشنها را در یک context ایمن اجرا و پاک میکند.
-
پشتیبانی از selector داخلی و scope برای انتخاب المانها.
-
مناسب برای Timelineهای پیچیده، پلاگینهایی مثل ScrollTrigger، و جلوگیری از memory leak.
با این روش، GSAP بهراحتی در معماری مدرن React (React 18/Next.js) قابل استفاده و مدیریت است.
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React