gsap-react
작성자 greensockgsap-react는 React와 Next.js를 위한 공식 GSAP 스킬입니다. useGSAP(), refs, gsap.context(), 스코프가 적용된 셀렉터, 정리(cleanup)까지 다루어 리렌더나 언마운트 버그 없이 React에 안전한 애니메이션을 만들 수 있게 해줍니다. 프런트엔드 개발에서 설치와 사용법이 필요할 때 이 gsap-react 가이드를 활용하세요.
이 스킬은 100점 만점에 84점으로, React 또는 Next.js에서 GSAP 애니메이션을 만드는 사용자에게 충분히 유력한 디렉터리 등록 후보입니다. 저장소에는 에이전트가 스킬을 올바르게 트리거하고 일반적인 프롬프트에 의존하지 않는 실제 워크플로를 따르는 데 필요한 운영 정보가 충분히 들어 있습니다. 다만 보조 자료와 더 넓은 구현 예시는 아직 조금 부족합니다.
- React/Next.js 애니메이션, GSAP와 React 관련 질문, 언마운트 시 정리에 대한 명확한 트리거 안내가 있습니다.
- useGSAP(), refs, gsap.context(), 범위 인식 셀렉터 사용을 중심으로 한 구체적인 운영 패턴을 제시합니다.
- 설치 단계와 코드 예제가 포함되어 있어 설치 판단에 도움이 되고 시행착오를 줄여줍니다.
- SKILL.md 외에는 지원 파일, 참고자료, 스크립트가 없어 스킬이 주로 서술형 안내에 의존합니다.
- React에 초점을 맞춘 사용 사례이므로, 비React 프레임워크나 더 고급 엣지 케이스가 필요한 사용자는 다른 GSAP 스킬이 필요합니다.
gsap-react 스킬 개요
gsap-react는 무엇을 위한 것인가
gsap-react는 React와 Next.js 같은 React 기반 프레임워크를 위한 GSAP 공식 스킬입니다. useGSAP(), 스코프가 지정된 셀렉터, gsap.context(), 자동 정리 같은 React-safe 패턴으로 애니메이션을 만들 수 있게 도와줍니다. 리렌더링, 언마운트, DOM 선택 오류와 부딪히지 않으면서 컴포넌트에 모션을 더해야 할 때 gsap-react 스킬을 사용하세요.
누가 사용해야 하는가
이 스킬은 이미 React를 알고 있고, 일반적인 애니메이션 입문서가 아니라 신뢰할 수 있는 설정 방법이 필요한 프론트엔드 엔지니어에게 잘 맞습니다. 특히 React 앱에서 GSAP를 써야 할지 판단할 때, 라우트 변경 후 애니메이션이 깨질 때, 또는 gsap-react 설치와 통합 흐름을 안내받아야 할 때 유용합니다.
무엇이 다른가
핵심 가치는 React에 맞춘 안전성입니다. 단순한 useEffect() 애니메이션을 직접 쓰고 정리를 수동으로 처리하는 대신, gsap-react는 useGSAP()와 스코프가 지정된 대상 사용으로 이끌어 애니메이션을 예측 가능하게 유지합니다. 또한 도입을 막는 흔한 실수인 스코프 없는 셀렉터, 빠진 플러그인 등록, SSR 관련 혼란을 줄여줍니다.
gsap-react 스킬 사용법
GSAP와 React 패키지 설치하기
gsap-react 설치를 위해 앱에 두 패키지를 추가하세요:
npm install gsap
npm install @gsap/react
그다음 useGSAP()이나 다른 GSAP 코드를 쓰기 전에 플러그인을 등록합니다:
import { useGSAP } from "@gsap/react";
gsap.registerPlugin(useGSAP);
등록을 건너뛰면 훅이 예상대로 동작하지 않습니다.
대충의 목표를 실행 가능한 프롬프트로 바꾸기
좋은 gsap-react 활용은 “더 보기 좋게 만들어줘”가 아니라 구체적인 애니메이션 목표에서 시작합니다. 컴포넌트 종류, 무엇이 움직여야 하는지, 언제 시작해야 하는지, 반복이 필요한지, 그리고 이 효과가 라우트 변경 후에도 유지되어야 하는지 혹은 언마운트 시 정리되어야 하는지를 포함하세요.
좋은 프롬프트 예시는 다음과 같습니다:
- “Next.js 클라이언트 컴포넌트에서 마운트 시 카드 3개가 슬라이드 인하도록 애니메이션해줘. 이 컨테이너 안으로 스코프를 제한해줘.”
- “이
useEffect()GSAP 애니메이션을useGSAP()와 cleanup, refs를 사용하도록 바꿔줘.” - “hover와 scroll-triggered 모션을 추가하되, 셀렉터는 컴포넌트 내부로 스코프를 유지해줘.”
먼저 읽어야 할 파일부터 확인하기
SKILL.md부터 시작한 다음, repo 복사본 안에서 동작과 제약을 정의하는 부분을 살펴보세요. 이 스킬은 핵심 경로가 짧기 때문에, 먼저 중심 지침을 읽고 그다음 연결된 예제나 주변 문서가 있으면 확인하는 흐름이 좋습니다. gsap-react에서는 When to Use This Skill, Installation, Prefer the useGSAP() Hook 섹션이 가장 중요한 판단 지점입니다.
React-safe 워크플로를 따르기
기본 워크플로는 다음과 같습니다: useGSAP를 import하고, 플러그인을 등록하고, ref를 만들고, 셀렉터를 그 ref에 스코프 지정한 뒤, 애니메이션 코드를 훅 안에 넣습니다. 문서 전체를 대상으로 하는 직접 셀렉터나 스코프 없는 타임라인보다 이 방식을 우선하세요. 나중에 실행되는 콜백이 필요하다면 contextSafe를 사용해 지연된 상호작용도 올바르게 정리되도록 하세요.
gsap-react 스킬 FAQ
모든 React GSAP 애니메이션에 gsap-react가 필요한가
아니요. 애니메이션이 작고 이미 스택의 다른 부분에서 잘 해결되고 있다면 이 스킬은 불필요할 수 있습니다. gsap-react는 코드가 컴포넌트 생명주기, cleanup, 스코프가 제한된 DOM 타깃팅, 또는 React나 Next.js의 프레임워크별 동작을 건드릴 때 사용하세요.
일반 프롬프트와 무엇이 다른가
일반 프롬프트로도 동작하는 애니메이션 코드는 나올 수 있지만, gsap-react는 프로덕션에서 중요한 React 통합 규칙을 명시합니다: 플러그인 등록, useGSAP(), scoped selectors, cleanup 동작입니다. 그 결과 디버깅 시간이 줄고 실제 앱 코드에서 더 재사용하기 쉬운 출력이 나옵니다.
gsap-react는 초보자에게도 친화적인가
네, 사용자가 컴포넌트와 원하는 모션을 설명할 수 있다면 그렇습니다. 이건 애니메이션 이론을 처음부터 가르치는 강의가 아니라, 대략적인 UI 아이디어를 안전한 React 코드로 옮기는 실용적인 gsap-react 가이드입니다. 초보자는 컴포넌트 구조와 기대하는 트리거를 함께 제공할 때 가장 좋은 결과를 얻습니다.
언제 사용하지 말아야 하는가
React가 아닌 프레임워크에는 gsap-react를 선택하지 마세요. 라이브러리와 무관한 애니메이션 답변이 필요할 때도 맞지 않습니다. Vue, Svelte, 그 밖의 스택에는 해당 프레임워크 전용 GSAP 스킬을 사용하세요. 핵심 tween이나 timeline 문법만 필요하다면 다른 GSAP 스킬이 더 적합할 수 있습니다.
gsap-react 스킬 개선하기
의도만 말하지 말고 구조를 함께 주기
gsap-react 출력 품질을 가장 크게 끌어올리는 방법은 구체성입니다. 컴포넌트 마크업, 이미 가지고 있는 셀렉터나 refs, 그리고 정확한 트리거 조건을 제공하세요. “hero를 애니메이션해줘”는 약하지만, “title은 fade in, CTA는 slide, feature cards는 첫 렌더에서 stagger”처럼 말하면 스킬이 바로 쓸 수 있는 코드를 만들어낼 만큼 충분한 정보를 줍니다.
구현을 바꾸는 제약을 먼저 말하기
SSR, route transitions, reduced motion, cleanup 기대사항은 초반에 명시하세요. 이런 제약에 따라 답변이 useGSAP(), client component, scoped refs, 혹은 다른 애니메이션 접근을 선택하게 됩니다. 앱이 Next.js라면 프롬프트에 그 사실을 분명히 적으세요.
첫 결과에서 스코프 실수를 검토하기
흔한 실패는 스코프가 없는 셀렉터, 너무 일찍 실행되는 애니메이션, 컴포넌트 언마운트를 무시하는 코드입니다. 첫 출력이 .box처럼 넓은 셀렉터를 스코프 없이 쓴다면 ref로 스코프를 제한한 재작성 요청을 하세요. 콜백이 나중에 트리거된다면 후속 요청에서 contextSafe 처리를 넣어달라고 하세요.
원하는 모션을 정확히 반영해 반복 조정하기
첫 패스 이후에는 한 번에 변수 하나씩만 바꾸며 다듬으세요: 타이밍, 이징, stagger, trigger, cleanup 동작. 좋은 gsap-react 활용 루프는 이렇습니다: 기본 애니메이션을 구현하고, 컴포넌트에서 테스트한 다음, “모바일에서는 덜 공격적으로” 또는 “트리거를 hover 전용으로 바꿔줘”처럼 구체적으로 수정 요청을 하는 것입니다.
