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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hirotomo Yamada
April 18, 2025
Technology
0
930
React ABC Questions
Hirotomo Yamada
April 18, 2025
Tweet
Share
More Decks by Hirotomo Yamada
See All by Hirotomo Yamada
Release Yamada UI v2
hirotomoyamada
0
580
Other Decks in Technology
See All in Technology
Kiro Powers 入門
k_adachi_01
0
120
CyberAgentの生成AI戦略 〜変わるものと変わらないもの〜
katayan
0
270
「通るまでRe-run」から卒業!落ちないテストを書く勘所
asumikam
1
150
Sansanでの認証基盤内製化と移行
sansantech
PRO
0
590
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
240
Claude Code 2026年 最新アップデート
oikon48
14
11k
組織全体で実現する標準監視設計
yuobayashi
3
500
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
1
380
Windows ファイル共有(SMB)を再確認する
murachiakira
PRO
0
180
めちゃくちゃ開発するQAエンジニアになって感じたメリットとこれからの課題感
ryuhei0000yamamoto
0
130
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/12 - 2026/2
oracle4engineer
PRO
0
170
Yahoo!ショッピングのレコメンデーション・システムにおけるML実践の一例
lycorptech_jp
PRO
1
230
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
220
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Writing Fast Ruby
sferik
630
63k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
110
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
760
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
110
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
200
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
160
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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 リポジトリ