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
0
610
React ABC Questions
Hirotomo Yamada
April 18, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
CARTA HOLDINGS エンジニア向け 採用ピッチ資料 / CARTA-GUIDE-for-Engineers
carta_engineering
0
27k
Новые мапы в Go. Вова Марунин, Clatch, МТС
lamodatech
0
2.1k
分解し、導き、託す ログラスにおける“技術でリードする” 実践の記録
hryushm
0
250
名単体テスト 禁断の傀儡(モック)
iwamot
PRO
1
270
Gateway H2 モジュールで スマートホーム入門
minoruinachi
0
140
Google Cloud Next 2025 Recap マーケティング施策の運用及び開発を支援するAIの活用 / Use of AI to support operation and development of marketing campaign
atsushiyoshikawa
0
230
DynamoDB のデータを QuickSight で可視化する際につまづいたこと/stumbling-blocks-when-visualising-dynamodb-with-quicksight
emiki
0
160
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
130
Azure & DevSecOps
kkamegawa
2
180
テストコードにはテストの意図を込めよう(2025年版) #retechtalk / Put the intent of the test 2025
nihonbuson
PRO
8
1.7k
続・やっぱり余白が大切だった話
kakehashi
PRO
3
340
SaaS公式MCPサーバーをリリースして得た学び
kawamataryo
4
1.3k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
4 Signs Your Business is Dying
shpigford
183
22k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Navigating Team Friction
lara
185
15k
Designing for humans not robots
tammielis
253
25k
It's Worth the Effort
3n
184
28k
Site-Speed That Sticks
csswizardry
6
540
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Building an army of robots
kneath
305
45k
Unsuck your backbone
ammeep
671
58k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
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 リポジトリ