Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
react-callを使ってダイヤログをいろんなとこで再利用しよう!
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
shinaps
September 07, 2025
Technology
740
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
18
動くコードでは不十分
shinaps
0
32
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
620
CloudflareとHonoを使って飲食店のレビューができるLINEアプリを作った
shinaps
3
1.5k
Other Decks in Technology
See All in Technology
8bit CPU 2026
koba789
7
2.9k
「面白い!」を信じ抜け。激動の時代を貫く、オンリーワン・エンジニアの条件
kizawa2020
0
270
暗号化?某ファイルストレージはどうなるの!? 3rd Partyとうまく付き合う秘密度ラベル設計
kasada
0
210
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
630
Rust×eBPFでEDRっぽいものをつくる
sunlife3
2
990
AWSとAzureのマルチクラウド活用における強い味方___AWS_Kiroを使った二刀流スキル作成.pdf
duelist2020jp
0
120
VPCでもFloatingIPを使いたいんだ
y_kotani
1
100
Claude Codeで開発以外の業務も爆速化しよう!
minorun365
PRO
7
5.6k
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
terara
0
440
サーバー常駐型の 簡易障害調査AI エージェントを作ってみた話
masayoshi
0
210
VLMで2.3万枚のPyCon JP写真を検索!
terapyon
1
620
AI駆動開発を組織で促すために
lycorptech_jp
PRO
6
7.1k
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Prompt Engineering for Job Search
mfonobong
0
420
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
250
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
New Earth Scene 8
popppiees
3
2.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
KATA
mclloyd
PRO
35
15k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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