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とUXの話 〜 startTransition を添えて 〜
Search
yuuki-katsuta
May 09, 2025
Programming
0
29
ReactとUXの話 〜 startTransition を添えて 〜
Netadashi Meetup #12 の登壇資料です。
yuuki-katsuta
May 09, 2025
Tweet
Share
More Decks by yuuki-katsuta
See All by yuuki-katsuta
Viteプラグインで学ぶビルドツールの裏側
sakiika
0
10
JavaScript AST入門 〜自作Babelプラグインを添えて〜
sakiika
1
15
Other Decks in Programming
See All in Programming
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
2k
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
430
CSC305 Lecture 04
javiergs
PRO
0
260
スマホから Youtube Shortsを見られないようにする
lemolatoon
25
28k
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
190
オープンソースソフトウェアへの解像度🔬
utam0k
12
2.5k
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.2k
Six and a half ridiculous things to do with Quarkus
hollycummins
0
160
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
150
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
140
チームの境界をブチ抜いていけ
tokai235
0
160
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
190
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Writing Fast Ruby
sferik
629
62k
The Language of Interfaces
destraynor
162
25k
Raft: Consensus for Rubyists
vanstee
139
7.1k
What's in a price? How to price your products and services
michaelherold
246
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
Transcript
3FBDUͱ69ͷ ʙTUBSU5SBOTJUJPOΛఴ͑ͯʙ উా༤ᏻc /FUBEBTIJ.FFUVQ
ɾ5BHCBOHFST *OD ɾओʹϑϩϯτΤϯυͷ։ൃʢ͘Β͍ʣ ɾొஃॳΊͯ উా༤ᏻ!ZVVLJLBUTVUB ࣗݾհ
͡Ίʹ ςʔϚ ɾ3FBDUͷฒྻϨϯμϦϯά͕ͨΒ͢69ͷਐԽ ɾ6*ߋ৽ͷཪΛ͍ͯΈΑ͏
69ʢϢʔβʔମݧʣΛୈҰʹ IUUQTMFHBDZSFBDUKTPSHCMPHCVJMEJOHHSFBUVTFSFYQFSJFODFTXJUIDPODVSSFOUNPEFBOETVTQFOTFIUNMQVUUJOHVTFS FYQFSJFODF fi STU %FWFMPQFS&YQFSJFODFˠ6TFS&YQFSJFODF
4ZODISPOPVT3FOEFSJOH Event Event Event User Interaction Main thread ʢ#MPDLFEʣ
ʢ#MPDLFEʣ
$PODVSSFOU3FOEFSJOH User Interaction Event Event ʢ/PO#MPDLJOHʣʢ/PO#MPDLJOHʣ
$PODVSSFOU3FOEFSJOH ɾ3FBDUͷ৽͍͠ϨϯμϦϯάػߏ ɾϨϯμϦϯάϓϩηεΛதஅՄೳͳ࡞ۀ୯Ґʹׂ ɹɹˠதஅɾ࠶ձɾഁغ͕Մೳʹ ɹɹˠϨϯμϦϯάϓϩηεʹ༏ઌͷ֓೦ ˞ϨϯμϦϯάˠԾ%0.πϦʔͷߏங
෮शʙTUBSU5SBOTJUJPOͱʙ TUBSU5SBOTJUJPOؔΛ༻ͯ͠ঢ়ଶͷߋ৽Λ ʮ༏ઌͷεςʔτߋ৽ʯͱͯ͠3FBDUʹ͑Δ ͜ͷߋ৽ۓٸͰͳ͍ͨΊɺॲཧ͖͢ۓٸͷλεΫ͕͋Δ߹தஅͰ͖Δ
TUBSU5SBOTJUJPOͷྫ ೖྗϑΥʔϜ user input Rendering ༏ઌߴ ༏ઌ Ϣʔβͷೖྗʹର͢ΔมԽˠ༏ઌߴ ϢʔβͷೖྗʹΑΔϦετͷϨϯμʔˠ༏ઌ
͏Ұͭͷੈք ʮCSBODIϞσϧʯʮผͷੈքʯͱ͍͏දݱ ˠVTF5SBOTJUJPO͕ͲͷΑ͏ʹػೳ͢Δ͔Λཧղ͢ΔͨΊͷൺᄻදݱ ެࣜυΩϡϝϯτΑΓ IUUQTSFBDUKTPSHEPDTDPODVSSFOUNPEFQBUUFSOTIUNM
CSBODIϞσϧͰߟ͑ͯΈΔ ༏ઌͷ3FOEFS ˠߴ༏ઌͷϨϯμϦϯά͕ऴྃͨ͠ޙʹͷΈ࣮ߦ։࢝ ˠߴ༏ઌͷλεΫͷߋ৽ʹΑͬͯதஅ͞ΕΔ Main thread transition thread ʢ༏ઌͷRenderʣ
1 2 3 4 5 %0.ө %0.ө %0.ө ʢϑΥʔϜೖྗ
CSBODIϞσϧͰߟ͑ͯΈΔ ߴ༏ઌͷλεΫͷߋ৽ʹΑͬͯதஅ͞ΕΔ ˠߴ༏ઌͷλεΫᶅ͕ൃੜ ˠ༏ઌͷλεΫᶄͷϨϯμϦϯά͕தஅ Main thread transition thread ʢ༏ઌͷRenderʣ
1 2 3 4 5 %0.ө %0.ө %0.ө ʢϑΥʔϜೖྗ
·ͱΊ ɾ3FBDU͓͠Ζ͍ʂ ɹ͜ͷΈΛ׆༻ͯ͠ɺϓϩμΫτΛΑΓྑ͍ͷʹ͍ͨ͠Ͷ ɾৄࡉͳΈΛͬͱΓͨ͘ͳͬͨ ɹ'JCFS3FDPODJMFS3FDPODJMJBUJPOʜ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ