Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Reactアニメーション事始め
Search
takanorip
May 27, 2017
940
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Reactアニメーション事始め
takanorip
May 27, 2017
More Decks by takanorip
See All by takanorip
AI-Slopなデザインを生まないためのデザインプロセス戦略
takanorip
10
5.9k
「見せる」登壇資料デザインの極意
takanorip
7
1.6k
Design System Documentation Tooling 2025
takanorip
3
3k
デザインエンジニアの延長にデザインマネージャーとしての可能性を探る
takanorip
1
1.3k
Tools for Design Engineers other than LLM in the LLM era
takanorip
1
880
Bulletproof Design System with TypeScript
takanorip
7
5.4k
Eleventy3.0 で始める爆速個人ブログ開発!
takanorip
0
320
Webフォント選定の極意!フォントの基本から最新トレンドまで徹底解説
takanorip
6
1.2k
効果的な管理画面を デザインをするために 避けるべき5つの罠
takanorip
15
8k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
A Tale of Four Properties
chriscoyier
163
24k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Mind Mapping
helmedeiros
1
360
BBQ
matthewcrist
89
10k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
280
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Mobile First: as difficult as doing things right
swwweet
225
10k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
930
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Transcript
React アニメーション事始め Takanori Oki 第1回 React.js 導入事例 @ 弥生
目次 • 自己紹介 • 導入 • 主要な実装方とポイント • まとめ
自己紹介
自己紹介 • 大木尊紀( @takanorip ) • フロントエンドエンジニア (ウェブサイト制作とか) • 株式会社スマートドライブ(2017.06.01~)
• 最近の悩み:体重の増加
Reactでアニメーション
要件・きもち
要件・きもち • 実装したいもの • リスト追加、削除時のアニメーション • メニューの開閉など • きもち •
シンプルに実装したい
普通のアニメーション • CSSアニメーション (transition、keyframesなど) • jQuery、velocity.jsなどのライブラリを使用 • DOMをゴリゴリいじる感じのやつ
Reactのつらみ
つらみ • jQuery使えない • DOM参照つらい • DOMをいじるのはVirtualDOM経由
実装方法 1. stateを更新する方法 2. react-transition-group 3. ライブラリを使用
stateを更新する方法
stateを更新する方法 • stateを更新してマルチクラスの付け替え • メニューの開閉などウェブサイトでよくある 動きを実装する時使える • React v15.0からDOMのCSSAnimationEvent をトリガーできるようになった
Actionを検知 state更新 アニメーション classを付け替え Actionを検知 class付け替え アニメーション jQueryとか React
要素の追加、削除は苦手 • アニメーションが終わってから要素を削除し ないといけない • 自前で実装するのは難しい
削除イベント発火 アニメーション開始 アニメーション終了 DOM削除 DOM追加 アニメーション開始 アニメーション終了 この間DOMは 残しておく必要 あり
react-transition-group
react-transition-group • 公式のアドオン • CSSTransitionGroupとTransitionGroup • 以前はReactTransitionGroupと ReactCSSTransitionGroupがあったが、 React v15.5.0で非推奨になってしまった
(使い方などは特に変わらない)
CSSTransitionGroup <CSSTransitionGroup transitionName="example" transitionEnterTimeout={500} transitionLeaveTimeout={300}> {items} </CSSTransitionGroup>
CSSTransitionGroup • CSSアニメーションさせるときに使う • コンポーネントの追加、削除時にclassを 付与する • 簡単にアニメーションできる • ロジック管理できない
ライブラリを使用
ライブラリを使用 • CSSより複雑な動き表現できる • アニメーションのロジックを管理できる • シンプルに使うことができる
主なライブラリ • react-motion • velocity-react • react-animations • react-tween-state
ライブラリについて詳しくは こちらの記事を参照! Reactのアニメーションを 攻略する
応用編
応用編 • Reduxを使ってアニメーションのロジックを 管理する • 複雑なアニメーションもできる • アニメーションをDOMから分離できるので、 TweenMaxなど通常使用しているライブラリ を使うこともできるようになる
まとめ • Reactとアニメーションは相性悪いけどやりよ うはたくさんある • ライブラリはそれぞれできることが違うので 確認必要 • もっと複雑なアニメーションを実装する時は Redux使って実装する