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
VueUse: 5分で分かる Vue.js 開発の効率化術
Search
Naoki Haba
July 26, 2024
Programming
4.5k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VueUse: 5分で分かる Vue.js 開発の効率化術
Vue.js v-tokyo Meetup #21 のLT資料です。
https://vuejs-meetup.connpass.com/event/321431/
Naoki Haba
July 26, 2024
More Decks by Naoki Haba
See All by Naoki Haba
setup-vp GitLab対応の裏側
naokihaba
0
100
Vite+ Unified Toolchain for the Web
naokihaba
0
920
Nuxt 4 の Singleton Data Fetching Layer で 何が変わるのか
naokihaba
1
2.4k
Laravel+PHPStanで始める実践的静的解析入門
naokihaba
2
820
Webからモバイルへ Vue.js × Capacitor 活用事例
naokihaba
0
1.5k
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
2.5k
unplugin-vue-routerで実現する Nuxt 風ファイルベースルーティング
naokihaba
1
290
チームで始める_テスト文化のススメ
naokihaba
0
870
不具合に立ち向かう テスト戦略 ~ NestJSで作るCI環境 ~
naokihaba
0
600
Other Decks in Programming
See All in Programming
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
240
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
1.3k
Jetpack Compose メカニズム
skydoves
0
430
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
710
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
190
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
240
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
480
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
720
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
180
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.4k
スマート反転とウェブアクセシビリティ
camiha
0
210
Are APIs Still Relevant in the AI Era?
soyuka
0
230
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
330
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Faster Mobile Websites
deanohume
310
32k
WCS-LA-2024
lcolladotor
0
830
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
230
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
700
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
290
The Spectacular Lies of Maps
axbom
PRO
1
990
sira's awesome portfolio website redesign presentation
elsirapls
0
410
Transcript
VueUse: 5分で分かる Vue.js 開発の効率化術 Vue.js v-tokyo Meetup #21
2 みなさん、VueUseをご存知ですか?
3 VueUseは Composition APIの可能性を最大限に引き出す究極 のユーティリティコレクションです
4 VueUseの魅力や実際の活用方法について紹介します
5 VueUseの魅力を少しでも感じ取っていただければと思います
6 Copyright © 2015 every, Inc. All rights reserved. アジェンダ
1. 自己紹介 2. VueUseって何?その特徴と機能 3. VueUseの魅力:際立つ特徴と豊富な機能 4. まとめ
7 Copyright © 2015 every, Inc. All rights reserved. アジェンダ
1. 自己紹介 2. VueUseって何?その特徴と機能 3. VueUseの魅力:際立つ特徴と豊富な機能 4. まとめ
8 Copyright © 2015 every, Inc. All rights reserved. 自己紹介
• 羽馬 直樹 / @NaokiHaba • 所属:株式会社 エブリー • コミュニティ • NestJS 日本ユーザーグループ共同主催者 • 最近 • Vue Fes Japan 2024 CFP 提出しました
9 株式会社エブリーについて
10 Copyright © 2015 every, Inc. All rights reserved. エブリーが提供しているプロダクト、ソリューション一覧
エブリーではマルチプロダクトを展開し、あらゆる暮らしの最適化に向き合っています
11 Copyright © 2015 every, Inc. All rights reserved. アジェンダ
1. 自己紹介 2. VueUseって何?その特徴と機能 3. 実際どう使うの?実践的なユースケース 4. まとめ
12 Copyright © 2015 every, Inc. All rights reserved. •
200以上の豊富な関数 • Vue 3と2の両方に対応 • 完全なツリーシェイキング対応 • TypeScriptで記述された型安全な設計 • 柔軟なAPI設計(refs引数、カスタマイズ可 能) • CDN経由で使用可能(バンドラー不要) • SSRフレンドリー • インタラクティブデモ付きドキュメント • 様々なアドオンサポート(Router, Firebase, RxJS など) VueUseって何?その特徴と機能
13 Copyright © 2015 every, Inc. All rights reserved. •
多様な環境に対応 • Vite + Vue 3 • Nuxt 3 + Vue 3 • Webpack + Vue 3 • Nuxt 2 + Vue 2 • Vue CLI + Vue 2 幅広い互換性により、さまざまな プロジェクトやチームのニーズに 柔軟に対応 VueUseって何?その特徴と機能
14 Copyright © 2015 every, Inc. All rights reserved. アジェンダ
1. 自己紹介 2. VueUseって何?その特徴と機能 3. VueUseの魅力:際立つ特徴と豊富な機能 4. まとめ
15 Copyright © 2015 every, Inc. All rights reserved. VueUseライブラリが提供する豊富な関数を紹介します
VueUseの魅力:際立つ特徴と豊富な機能
16 Copyright © 2015 every, Inc. All rights reserved. 時間の都合上、全ての関数*
を紹介することはできないので いくつかピックアップした関数について紹介します *Functions | VueUse にVueUseの全関数一覧がリスト化されています VueUseの魅力:際立つ特徴と豊富な機能
17 Copyright © 2015 every, Inc. All rights reserved. •
useMouse • マウスの位置を追跡する • useToggle • ブール値の状態を切り替える • useClipboard • クリップボードの操作を行う • useGeolocation • ユーザーの位置情報を取得 • useDark • ダークモードの状態を管理する VueUseの魅力:際立つ特徴と豊富な機能 • useAxios • Axiosを使用してHTTPリクエストを行 う • useFocusTrap • モーダルやポップアップ内でフォーカ スを制御する • useNProgress • ページ遷移時のプログレスバーを管 理する • useQRCode • QRコードを生成する • useAsyncValidator • 非同期バリデーションを行う
18 Copyright © 2015 every, Inc. All rights reserved. •
useMouse • マウスの位置を追跡する • useToggle • ブール値の状態を切り替える • useClipboard • クリップボードの操作を行う • useGeolocation • ユーザーの位置情報を取得 • useDark • ダークモードの状態を管理する VueUseの魅力:際立つ特徴と豊富な機能 • useAxios • Axiosを使用してHTTPリクエストを行 う • useFocusTrap • モーダルやポップアップ内でフォーカ スを制御する • useNProgress • ページ遷移時のプログレスバーを管 理する • useQRCode • QRコードを生成する • useAsyncValidator • 非同期バリデーションを行う
19 Copyright © 2015 every, Inc. All rights reserved. •
useMouse • マウスの位置を追跡する • useToggle • ブール値の状態を切り替える • useClipboard • クリップボードの操作を行う • useGeolocation • ユーザーの位置情報を取得 • useDark • ダークモードの状態を管理する VueUseの魅力:際立つ特徴と豊富な機能 • useAxios • Axiosを使用してHTTPリクエストを行 う • useFocusTrap • モーダルやポップアップ内でフォーカ スを制御する • useNProgress • ページ遷移時のプログレスバーを管 理する • useQRCode • QRコードを生成する • useAsyncValidator • 非同期バリデーションを行う
20 Copyright © 2015 every, Inc. All rights reserved. VueUseの魅力:際立つ特徴と豊富な機能
useMouse • useMouse にオプションを渡すだけでマウス座標を取得できる • 内部的にはイベントリスナーを使用して座標を追跡している
21 Copyright © 2015 every, Inc. All rights reserved. VueUseの魅力:際立つ特徴と豊富な機能
useMouse まとめ • 🚀 超簡単実装 • const { x, y } = useMouse() • 👉 たった1行でリアルタイムのマウス位置取得が可能に! • 🔄 自動的なライフサイクル管理: • 👉 マウント時に接続、アンマウント時に自動切断 • メモリリークの心配なし&コード量大幅削減 • 🛠 柔軟なカスタマイズ: • 👉 初期値設定、更新頻度調整、特定要素内での追跡など • useMouse({ target, touch: false })
22 Copyright © 2015 every, Inc. All rights reserved. •
useMouse • マウスの位置を追跡する • useToggle • ブール値の状態を切り替える • useClipboard • クリップボードの操作を行う • useGeolocation • ユーザーの位置情報を取得 • useDark • ダークモードの状態を管理する VueUseの魅力:際立つ特徴と豊富な機能 • useAxios • Axiosを使用してHTTPリクエストを行 う • useFocusTrap • モーダルやポップアップ内でフォーカ スを制御する • useNProgress • ページ遷移時のプログレスバーを管 理する • useQRCode • QRコードを生成する • useAsyncValidator • 非同期バリデーションを行う
23 Copyright © 2015 every, Inc. All rights reserved. VueUseの魅力:際立つ特徴と豊富な機能
useClipboard • リアクティブな状態管理( copied状態など)が可能 • コピー成功後、 "copied"状態が真となる期間もカスタム可能
24 Copyright © 2015 every, Inc. All rights reserved. VueUseの魅力:際立つ特徴と豊富な機能
useClipboard まとめ • 💾 リアクティブなクリップボード読み取り • クリップボードの内容が変わると自動でtextが更新される • 📝 簡単なクリップボード書き込み • 引数に渡した値がクリップボードにコピーされるcopy('Hello, world') • 🛠 柔軟なカスタマイズ • 入力ソースのカスタマイズやコピー後の表示期間設定など細かな 制御が可能
25 Copyright © 2015 every, Inc. All rights reserved. •
useMouse • マウスの位置を追跡する • useToggle • ブール値の状態を切り替える • useClipboard • クリップボードの操作を行う • useGeolocation • ユーザーの位置情報を取得 • useDark • ダークモードの状態を管理する VueUseの魅力:際立つ特徴と豊富な機能 • useAxios • Axiosを使用してHTTPリクエストを行 う • useFocusTrap • モーダルやポップアップ内でフォーカ スを制御する • useNProgress • ページ遷移時のプログレスバーを管 理する • useQRCode • QRコードを生成する • useAsyncValidator • 非同期バリデーションを行う
26 Copyright © 2015 every, Inc. All rights reserved. VueUseの魅力:際立つ特徴と豊富な機能
useAxios • 自動的なリクエスト状態管理 • リアクティブなクエリパラメータ • クエリパラメータが変更されると自動的にリクエストが再送される
27 Copyright © 2015 every, Inc. All rights reserved. VueUseの魅力:際立つ特徴と豊富な機能
useAxios まとめ • 🚀 シンプルな API呼び出し • const { data, error, loading } = useAxios('/api/data') • 👉 たった1行でAPIからデータ取得が可能に! • 🛠 柔軟なカスタマイズ • 👉 リクエストメソッド、ヘッダー、手動トリガーなど細かな制御が可 能
28 Copyright © 2015 every, Inc. All rights reserved. アジェンダ
1. 自己紹介 2. VueUseって何?その特徴と機能 3. VueUseの魅力:際立つ特徴と豊富な機能 4. まとめ
29 Copyright © 2015 every, Inc. All rights reserved. まとめ
• 📈 VueUseが提供する価値 • 🎨 宣言的で読みやすいコード • 再利用可能なコンポーザブル • 🔄 リアクティビティとライフサイクル管理の自動化 • ライフサイクルフックの自動処理 • 🧩 モジュール式の柔軟な設計 • 必要な機能だけを選択して導入可能 • カスタマイズ性の高いオプション
30 Copyright © 2015 every, Inc. All rights reserved. 🎉
VueUseでVue開発をさらに楽しく! まとめ
31 Copyright © 2015 every, Inc. All rights reserved. エブリーからのお知らせ
一緒にサービスを作る仲間を大募集中です! 🔍 エブリー 採用 https://corp.every.tv/recruits • Tech Blogもやってます • 開発部 Xアカウント • エブリー公式オウンドメディア「 every.thing」はこちら https://tech.every.tv/ https://everything.every.tv/ https://x.com/every_engineer
None