為什麼選擇 GSAP?
原本想直接選跟 React 最契合的 framer motion,但發覺要學不如就學最泛用的 GSAP,未來若寫 React 以外的框架時也會用到
特性 | GSAP | Framer Motion |
---|---|---|
動畫方式 | 採用命令式方法,開發者需要詳細描述動畫的每個步驟 | 採用宣告式方法,動畫的狀態和過程更易於理解 |
React 整合 | 需要額外的封裝或插件來與 React 整合 | 專為 React 設計,與 React 元件無縫整合 |
學習曲線 | 功能強大,但需要更多時間學習和掌握 | 上手容易,適合需要快速實現動畫效果的開發者 |
性能 | 提供高性能的動畫效果,適用於複雜的動畫需求 | 處理非常複雜的動畫時可能不如 GSAP |
社群與資源 | 擁有龐大的社群和豐富的插件資源,適用於多種平台和框架 | 社群資源主要集中在 React 生態系統。 |
安裝與設定
1 | npm install gsap |
現在要額外使用 ScrollTrigger
動畫已不用額外在 npm install gsap/ScrollTrigger,直接 import { ScrollTrigger } from "gsap/ScrollTrigger";
即可
建立基本動畫(舊寫法) - useEffect
1 | import { useEffect, useRef } from "react"; |
以上是還在用useEffect()
是舊的寫法
可參考:[https://www.npmjs.com/package/@gsap/react](@gsap/react 教學)
新寫法 - useGSAP
前面指令多 npm i @gsap/react
,就是為了這個 GSAP 官方提供的 React hook,提供更多些便利性,包括:
- 自動清理:當組件卸載時自動清理動畫
- 簡化上下文處理:更容易建立和管理 GSAP 上下文
- 更好的 React 集成:專為 React 的生命週期設計
現代寫法直接使用 useGSAP
1 | useGSAP(() => { |
所以有
動畫屬性與方法
- 基本動畫應用
- 建立基本動畫
- 動畫屬性與方法
- 高級動畫技巧
- 時間軸動畫
- 滾動觸發動畫
- 實戰範例
- 套用動畫至首頁元件
- 優化動畫效能
- 結論
- 回顧與總結
- 未來展望
若您覺得這篇文章對您有幫助,歡迎分享出去讓更多人看到⊂◉‿◉つ~
留言版