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 ABC Questions
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hirotomo Yamada
April 18, 2025
Technology
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
React ABC Questions
Hirotomo Yamada
April 18, 2025
More Decks by Hirotomo Yamada
See All by Hirotomo Yamada
Release Yamada UI v2
hirotomoyamada
0
710
Other Decks in Technology
See All in Technology
macOS Golden Gate 時代のMac管理
tategami
0
140
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
1
250
React改造してみた
tsukina_7mochi
0
160
DevelopersIO 2026 Tokyo 現時点の衛星通信サービスの現状を整理してみる
maroon1st
0
270
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
130
Let's Change Our World—Again
snoozer05
PRO
6
610
AI時代のGraphQL
joere
3
380
Refining Active Record
shugo
0
230
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
250
古い指輪から広がった JAVA コミュニティ とのつながり
yamad
0
150
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
310
クラウドサインを止めずに Nuxt へ 次の10年のために先に決めたこと
bengo4com
1
110
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Visualization
eitanlees
153
17k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Documentation Writing (for coders)
carmenintech
77
5.6k
Ruling the World: When Life Gets Gamed
codingconduct
0
420
A Modern Web Designer's Workflow
chriscoyier
699
190k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Site-Speed That Sticks
csswizardry
13
1.6k
Building AI with AI
inesmontani
PRO
1
1.3k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
580
Transcript
React ABC問題
Profile Produced Contributing Hirotomo Yamada Developer of Yamada UI. Designer,
design system and UI engineer. I work for
React ABC問題 A B C • 依存関係は、図の通りである。 • C内のアクション(onClick)で、Cを再レンダリングさ せずに、Bを再レンダリングさせよ。
• 問題の解決には、Reactが提供しているフックや APIのみ使用すること。但し、メモ化 (useMemo、 memoなど)は使用しないこと。 コンポーネント ツリー
React ABC問題 - ソースコード
React ABC問題 - 一般的なアプローチ A B C コンポーネント ツリー ステート
セッター ステート セッター ステート セッター • Aにステートとセッターを配置する。 • Bにステートを渡す。 • Cにセッターを渡す。
React ABC問題 - 期待通りにならない A B C コンポーネント ツリー ステート
セッター ステート セッター ステート セッター • Cのセッターを実行して、 Aのステートを更新する。 • しかし、Aのステートが変更されると子要素の Cま でも再レンダリングされてしまう。
React ABC問題 - 解決するアプローチ • • • Contextを使用する。 A B
C コンポーネント ツリー
React ABC問題 - Context
React ABC問題 - 解決するアプローチ • • • Contextを使用する。 useSyncExternalStoreを使用する。 A
B C コンポーネント ツリー
React ABC問題 - useSyncExternalStore
React ABC問題 - 解決するアプローチ • • • Contextを使用する。 useSyncExternalStoreを使用する。 useImperativeHandleを使用する。
A B C コンポーネント ツリー
React ABC問題 - useImperativeHandle
React ABC問題 - ありがとうございました https://github.com/hirotomoyamada/react-abc GitHub リポジトリ