codestates / codestates/art-ground

[Error Handling Log] GSAP 버전업 이후 바뀐 문법 코드에 적용하기 / 박지영

Open
#231 0 comments 0 reactions 1 assignee Claimed by @devLuenna View on GitHub
Error Handling Log
Dominant language
JavaScript
Stars
7
Forks
9
PR merge metrics
No merged PRs in 30d

Description

### **어떤 에러인가요?**

- 자바스크립트만으로 작성된 코드를 리액트로 옮겨서 리팩토링하던중, gsap이 버전업이 되어 문법이 조금씩 바뀐 것을 알았음. 간단히 정리하자면 아래와 같다.

### **에러 핸들링 방법**

- 자바스크립트에서 리액트로 넘겨올 때, 돔에 접근할때는 useRef훅 사용하기
- 바뀐 TweenMax, TimelineMax 문법 적용하기
- timeline에서 속성 넘길 때... 문자열로 넘어가면 안 됨(ex. scaleY, height 속성)

코드는 아래와 같다.
```js

//이전 버전
TweenMax.to(".wrapper", 2, {
top: "-100%",
ease: Expo.easeInOut,
delay: 3.6
});

var tl = new TimelineMax();

tl.from(".loader", 1.6, {
scaleY: "0%",
y: 80,
ease: Expo.easeInOut,
delay: 1,
transformOrigin:"50% 100%"
});

tl.to(".loader", 1.6, {
height: "20vh",
scaleY: "0%",
ease: Expo.easeInOut,
transformOrigin:"0% -100%"
});

TweenMax.to(".box", 2.4, {
y: "-100%",
ease: Expo.easeInOut,
delay: 6,
});

//이후 버전

import gsap from "gsap";

gsap.to(wrapperRef.current, {
duration: 3,
top: "-100%",
ease: "power3.inOut",
delay: 3.6
});

var tl = gsap.timeline();

tl.from(loaderRef.current, {
duration: 2,
scaleY: 0,
y: 80,
ease: "power3.inOut",
delay: 1,
transformOrigin:"50% 100%"
});

tl.to(loaderRef.current, {
duration: 2,
height: 50,
scaleY: 0,
ease: "power3.inOut",
transformOrigin:"0% -100%"
});

gsap.to(boxRef.current, {
duration: 2,
y: "-100%",
ease: "power3.inOut",
delay: 5,
});
```

### **에러 핸들링을 위해 참고한 레퍼런스 링크**
- 공식문서: https://greensock.com/3-migration/

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.