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-callを使ってダイヤログをいろんなとこで再利用しよう!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
shinaps
September 07, 2025
Technology
770
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
react-callを使ってダイヤログをいろんなとこで再利用しよう!
https://ui-devs.connpass.com/event/364448/
shinaps
September 07, 2025
More Decks by shinaps
See All by shinaps
エラーを定義から消し去る
shinaps
0
25
動くコードでは不十分
shinaps
0
34
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
640
CloudflareとHonoを使って飲食店のレビューができるLINEアプリを作った
shinaps
3
1.5k
Other Decks in Technology
See All in Technology
[FECONF-2026] 신대륙을 향한 카카오페이증권 프론트엔드 항해기 (이주승)
l1ghthouse
0
150
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
160
アカウント統制の健康診断
kenichinakamura
1
190
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
0
300
データマネジメント × 法務で作りあげる、 freeeの新しいデータガバナンスへの軌跡
freee
PRO
1
360
Codex を使った障害対応机上演習の実際
orgachem
PRO
0
360
LLM-as-a-Judgeは本当に信頼できるのか――評価器を評価する話
taka_aki
3
1.1k
Let's Change Our World—Again
snoozer05
PRO
6
670
正解のない研修に放り出されて / Being thrown into a training program with no right answers
ohnoeight
1
110
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
3
1.1k
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
3
290
国際カードブランドルール変更に伴うクレジットカード決済取引仕様変更について
k1style
0
220
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
620
Odyssey Design
rkendrick25
PRO
2
890
Marketing to machines
jonoalderson
1
5.9k
A designer walks into a library…
pauljervisheath
211
25k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
560
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
540
Utilizing Notion as your number one productivity tool
mfonobong
4
620
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Designing for Timeless Needs
cassininazir
1
530
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
290
Transcript
react-callを使ってダイヤログを いろんなとこで再利用しよう! 2025/09/08 Web UI 実装勉強会 #1 @siipdog @shinaps 1
/ 23
react-callとは? window.confirm()のようにコンポーネントを呼び出し、ユーザーの応答を受け取ることができる 2 / 23 shinaps
使い方 コンポーネントの作成 createCallable()という関数を使用して 呼び出し可能なコンポーネントを定義する 3 / 23 shinaps
使い方 コンポーネントの作成 createCallable()という関数を使用して 呼び出し可能なコンポーネントを定義する propsでダイヤログのUIを制御 4 / 23 shinaps
使い方 コンポーネントの作成 今回はユーザーからの入力を使用しないので Responseの方の型は void にしている createCallable()という関数を使用して 呼び出し可能なコンポーネントを定義する export function
createCallable ( UserComponent: UserComponent<Props, Response, RootProps>, unmountingDelay?: number, ): Callable<Props, Response, RootProps> <Props = void, Response = void, RootProps = {}> 5 / 23 shinaps
使い方 コンポーネントの作成 call.end()を実行すると コンポーネント呼び出しが終了する createCallable()という関数を使用して 呼び出し可能なコンポーネントを定義する 6 / 23 shinaps
使い方 コンポーネントの配置 ConfirmDialog.Rootをダイヤログを 埋め込みたい位置に配置 7 / 23 shinaps
使い方 コンポーネントの配置 ConfirmDialog.Rootをダイヤログを 埋め込みたい位置に配置 8 / 23 shinaps
使用例:ダイヤログの再利用 9 / 23 shinaps
使用例:ダイヤログの再利用 10 / 23 shinaps
使用例:ダイヤログの再利用 11 / 23 shinaps
使用例:ダイヤログの再利用 12 / 23 shinaps
使用例:ダイヤログの再利用 13 / 23 shinaps
応用編? リピめしでの活用事例 「リピあり」と「リピなし」の2択で飲食店の 口コミが投稿できるサービスを開発してます 14 / 23 shinaps
応用編?:リピめしでの活用事例 mutationのhookで使用する useMutationを使用しているアプリケーションでは mutationの中からConfirmDialog.callを使用す ることで、ユーザーに確認が必要なアクションに対し てのダイヤログ表示を管理しやすくなります 15 / 23 shinaps
応用編?:リピめしでの活用事例 mutationのhookで使用する useMutationを使用しているアプリケーションでは mutationの中からConfirmDialog.callを使用す ることで、ユーザーに確認が必要なアクションに対し てのダイヤログ表示を管理しやすくなります mutationのhookの中でDialogを呼び出すようにすることで コンポーネント側の実装をシンプルにできる 16 /
23 shinaps
応用編?:リピめしでの活用事例 レビュー用モーダルを表示する 店舗詳細や店舗検索など、いろいろな場所からレビュー作成 を開始できるように、レビュー作成用モーダルをcallable にしています レビュー作成用モーダル 17 / 23 shinaps
応用編?:リピめしでの活用事例 - レビュー用モーダルを表示する 18 / 23 shinaps
応用編?:リピめしでの活用事例 - レビュー用モーダルを表示する 19 / 23 shinaps
レビュー作成用のモーダルを callableとして登録 応用編?:リピめしでの活用事例 - レビュー用モーダルを表示する 20 / 23 shinaps
応用編?:リピめしでの活用事例 - レビュー用モーダルを表示する 21 / 23 shinaps
「レビューを初期化してレビュー用のモーダルを開くボタン」として再利用できる 応用編?:リピめしでの活用事例 - レビュー用モーダルを表示する 22 / 23 shinaps
ありがとうございました 23 / 23