포인트는 gsap.registerPlugin(ScrollTrigger)로 ScrollPlugin을 연결해주는 것!
import React from 'react';
import { gsap } from 'gsap';
import { ScrollTrigger } from "gsap/ScrollTrigger";
const Main: React.FC = () => {
useEffect(() => {
gsap.registerPlugin(ScrollTrigger);
const targets = document.querySelectorAll('#scroll-trigger');
targets.forEach(el => {
gsap.fromTo(el, {
autoAlpha: 0,
}, {
duration: 1,
autoAlpha: 1,
ease: 'none',
scrollTrigger: {
trigger: el,
}
})
})
}, []);
return (
<div className={cx('main')}>
<div className={cx('pc_wrapper')} id="scroll-trigger">
<PCHeader />
</div>
<div className={cx('mobile_wrapper')} id="scroll-trigger">
<MobileHeader />
</div>
<div className={cx('pc_wrapper')} id="scroll-trigger">
<PCPortfolidSlider />
</div>
<div className={cx('mobile_wrapper')} id="scroll-trigger">
<MoPortfolidSlider />
</div>
</div>
);
};
export default Main;
'JavaScript > React.js' 카테고리의 다른 글
SWR을 사용하는 이유 (0) | 2022.01.06 |
---|---|
CRA에서 api server proxy (0) | 2021.12.31 |
우당탕탕 React에서 CKEditor5 적용기 (0) | 2021.10.27 |
React 에 Google Analytics 적용 (0) | 2021.10.26 |
CRA + Craco + TypeScript (0) | 2020.11.16 |