$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
react-callを使ってダイヤログをいろんなとこで再利用しよう!
Search
shinaps
September 07, 2025
Technology
2
520
react-callを使ってダイヤログをいろんなとこで再利用しよう!
https://ui-devs.connpass.com/event/364448/
shinaps
September 07, 2025
Tweet
Share
More Decks by shinaps
See All by shinaps
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
550
CloudflareとHonoを使って飲食店のレビューができるLINEアプリを作った
shinaps
3
1.4k
Other Decks in Technology
See All in Technology
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
310
Docker, Infraestructuras seguras y Hardening
josejuansanchez
0
150
Ruby で作る大規模イベントネットワーク構築・運用支援システム TTDB
taketo1113
1
110
Gemini でコードレビュー知見を見える化
zozotech
PRO
1
130
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
250
Multimodal AI Driving Solutions to Societal Challenges
keio_smilab
PRO
1
130
知っていると得する!Movable Type 9 の新機能を徹底解説
masakah
0
240
プロダクトマネージャーが押さえておくべき、ソフトウェア資産とAIエージェント投資効果 / pmconf2025
i35_267
2
520
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
530
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
1.1k
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
670
乗りこなせAI駆動開発の波
eltociear
1
600
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Writing Fast Ruby
sferik
630
62k
Thoughts on Productivity
jonyablonski
73
5k
How STYLIGHT went responsive
nonsquared
100
5.9k
How GitHub (no longer) Works
holman
316
140k
Designing for humans not robots
tammielis
254
26k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
BBQ
matthewcrist
89
9.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
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