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 ABC Questions
Search
Hirotomo Yamada
April 18, 2025
Technology
960
0
Share
React ABC Questions
Hirotomo Yamada
April 18, 2025
More Decks by Hirotomo Yamada
See All by Hirotomo Yamada
Release Yamada UI v2
hirotomoyamada
0
630
Other Decks in Technology
See All in Technology
最新技術を"今は選ばない"という技術選定
leveragestech
PRO
0
410
Loadbalancing exporter internals
ymotongpoo
1
130
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
3
2.4k
Amazon CloudFrontにおけるAIボットアクセス制御のポイント
kizawa2020
4
270
まだ道半ば、AI-DLCを歩み始めている話
news_it_enj
2
170
Amazon Bedrock 経由の Claude Cowork を試してみよう・MCP にも繋いでみよう
sugimomoto
0
170
ジュニアエンジニアはSREとどう向き合うべきか
nrinetcom
PRO
1
120
その英語学習、AWSで代替できませんか?
suzutatsu
1
240
Generative UI × A2UI で AI エージェントを作った話 AI-DLC も使ってみた!
kmiya84377
1
150
freee-mcpを Local→Remote で出してわかった MCP認可実装のリアル
terara
3
630
Typiaで配信JSONの安全性を構造的に担保する(TSKaigi2026)
righttouch
PRO
1
170
TypeScriptエンジニアのためのWASMランタイム入門:AssemblyScriptから理解するメモリの実態(ayano)
ayanoyuki
0
130
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
Between Models and Reality
mayunak
4
300
Deep Space Network (abreviated)
tonyrice
0
150
Raft: Consensus for Rubyists
vanstee
141
7.4k
How to make the Groovebox
asonas
2
2.2k
How to train your dragon (web standard)
notwaldorf
97
6.6k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
310
Leo the Paperboy
mayatellez
7
1.8k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
220
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
460
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
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 リポジトリ