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
980
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
650
Other Decks in Technology
See All in Technology
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
160
自律型AIエージェントは何を破壊するのか
kojira
0
150
RSA暗号を手計算したくなること、ありますよね?? (20260615_orestudy6_rsa)
thousanda
0
160
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
570
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
18
6.3k
タクシーアプリ『GO』の実践的データ活用
mot_techtalk
3
190
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
380
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
230
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
4
4.2k
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development with AI-DLC
yoshidashingo
0
170
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
210
新しいVibe Codingと”自走”について
watany
5
280
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
Mobile First: as difficult as doing things right
swwweet
225
10k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
220
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Evolving SEO for Evolving Search Engines
ryanjones
0
210
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 リポジトリ