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のミニマム理解 〜UI = f(data)(state)+sideEffect〜
Search
Yoda Keisuke
February 18, 2024
5
150
Reactのミニマム理解 〜UI = f(data)(state)+sideEffect〜
Yoda Keisuke
February 18, 2024
Tweet
Share
More Decks by Yoda Keisuke
See All by Yoda Keisuke
Expertise as a Service via MCP
yodakeisuke
1
420
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
390
Agent Rules as Domain Parser
yodakeisuke
1
1.3k
.mdc駆動ナレッジマネジメント/.mdc-driven knowledge management
yodakeisuke
32
21k
インフラ高級言語としてのAWS CDK〜"設定"より1段階ハイレベルな抽象化〜
yodakeisuke
1
100
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
870
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
YesSQL, Process and Tooling at Scale
rocio
173
14k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Navigating Team Friction
lara
189
15k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Making Projects Easy
brettharned
118
6.4k
Into the Great Unknown - MozCon
thekraken
40
2k
Transcript
ґాܒ༎ 3FBDUͷϛχϚϜ 6*G EBUB TUBUF TJEF& ff FDU
ֶशͷΠϯηϯςΟϒ 3FBDUͷಛ 3FBDUʹΑΔ6*هड़ͷίϯηϓτ લஔ͖ᶃ👉 લஔ͖ᶄ👉 ຊ👉
ֶशͷΠϯηϯςΟϒ ٕज़ऀ໘ ৫໘
ٕज़ऀࢹᶃݱੈͷΞϓϦ։ൃͰ༻͕ߴ͘धཁ༗Γ ɹɹɹɹɹᶄ࣍ੈٕज़ύϥμΠϜड͚ܧ͍Ͱ͍Δ એݴతɾϦΞΫςΟϒɾؔίϯϙʔωϯτ Πϛϡʔλϒϧ Javascript/Typescript (6*ϓϩάϥϛϯά ύϥμΠϜ ϓϩάϥϛϯά
ݴޠ )5.-ੜॴ ύϑΥʔϚϯε ୲อͷֻ͚ WebAssembly(ͳΜͰ) αʔόαΠυ Τοδ खଓత / ϛϡʔλϒϧ ΫϥΠΞϯτ ԾDOMͰղܾ ίϯύΠϧ࣌ʹղܾ 3FBDU #MB[PS $ ɺZFX 3VTU 'SFTIɺ2XJL 3FBDU TWFMUFɺTPMJE
৫ࢹᶃଞࣾαʔϏεͷ69໘Ͱͷڝ૪ྗྼޙࢭ ᶄ։ൃੜ࢈ੑ࠾༻໘Ͱͷྼޙࢭ 㾎ߴΠϯλϥΫςΟϒ 㾎αΫαΫૢ࡞ 6TFS&YQFSJFODF %FWFMPQFS&YQFSJFODF 㾎σϦόϦʔ6Q 㾎Ϟμϯٕज़ελοΫͱ͍͏ ΠϯηϯςΟϒ
㾎։ൃਓޱ͕ଟ͍
3FBDUͷಛ ҰൠʹΑ͘ݴΘΕΔ̏ཁૉ ຊϑΥʔΧε͢Δൣғ
3FBDUͷಛ͜ͷΑ͏ͳ̏ཁૉͰޠΒΕΔ એݴత6* એݴత4UBUF Ծ%0. มԽͷ݁ՌͷΈॻ͚ྑ͍ 6*ϩδοΫͱঢ়ଶͷ
ঢ়ଶભҠ͕͋Δͱɺதؒతද ݱͰ͋ΔԾ%0.ͷΈߋ৽ ߋ৽લޙͷԾ%0.ͷൺֱ Ͱࠩݕɺ࠷খίετͰ ࣮%0.Λߋ৽ $PNQPOFOUCBFTE ը໘্ͷίϯϙʔωϯτΛ ୯Ґͱͯ͠ίʔυׂ ߏͱঢ়ଶͱৼΔ͍ͱ ελΠϧΛΧϓηϧԽ
̏ཁૉ͕ἧͬͯߴΠϯλϥΫςΟϒɾߴύϑΥʔϚϯεɾ ߴੜ࢈ੑΛ࣮ݱ͍ͯ͠Δ એݴత6* એݴత4UBUF Ծ%0. $PNQPOFOUCBFTE ࠩߋ৽ʹΑΔએݴతهड़ͱ
࣮ߦͷཱ྆ θϩ͔Βએݴͨ͠Ϗϡʔ ͷܥΛߏங ίϯϙʔωϯτ શͯ+4ͷؔ ͱͯ͠ఆٛ ίϯϙʔωϯτ ֊ؔΛએݴ తʹهड़ ίϯϙʔωϯτ ͷϝϞϦܰྔͳ ࣸ૾͕Ծ%0. มߋ͖͢ίϯϙ ʔωϯτͷΈΛߋ ৽͢Δ
એݴత6* એݴత4UBUF Ծ%0. $PNQPOFOUCBFTE ຊࢿྉͰઆ໌Λࢦ͢ൣғ ຊࢿྉͰɺཪͷΈ࠷ݶʹɺ୯ҰͷίϯϙʔωϯτΛఆͨ͠ ϑΝʔετεςοϓͷ֓೦ཧղΛࢦ͢
3FBDUʹΑΔ6*هड़ͷίϯηϓτ *OQVUˠ७ਮؔˠ6* ঢ়ଶΛͲ͏͔࣋ͭ ෭࡞༻ΛͲ͏͔࣋ͭ
6*G EBUB TUBUF TJEF&GGFDU ˞ࣜͱͯ͠ਖ਼͍͠දݱ͔Θ͔ͳ͍ͷͰΠϝʔδͰ
JO PVU 1SPDFTT 6*' EBUB
1SPQT ʢҾʣ %0. จॻߏ ίϯϙʔωϯτ ؔ
+BWBTDSJQUؔ 6*' EBUB +49Λɺ)5.-ͱ ಉ͡ɺ%0.ͷҰͭ ͷ࣮ͱͯ͠ଊ͑ Δɻ ίʔυྫ Ҿɿ HSFFUJOH ؔɿ $PNQPOFOU Γɿ EJWDMBTT/BNFl0OF Լͷ+49ཁૉ 1SPQTཁҾ 3FBDUίϯϙʔωϯτʹ͢ ͷΛͦ͏ݴ͍ͬͯΔ͚ͩ
1SPQT ʢҾʣ Ծ %0.Λฦ͢ ؔ ίϯϙʔωϯτ ؔ
+BWBTDSJQUؔ ิɿɹ+493FBDUDSFBUF&MFNFOU ͷߏจҥ +49࣮ࡍʹ 3FBDU&MFNFOUΛ ฦؔ͢ɺͰ͋Δ
3FBDUͷϧʔτ ΦϒδΣΫτ EJWJElSPPUz EJW ิɿ3FBDUϓϩδΣΫτͷॳظߏ͓ΑͼॳճϨϯμʔͷ ͬ͘͟ΓྲྀΕ 3FBDU
&MFNFOU *OEFYIUNM *OEFYKT "QQKT छʑͷίϯϙʔωϯτ πϦʔ͕ͿΒԼ͕Δ DSFBUF3PPU SPPU&MFNFOU SPPUSFOEFS 3FBDU&MFNFOU
+49 ७ਮؔ 6*G TUBUF 4UBUF ७ਮؔɺมΛ࣋ͨͳ͍ɻ ҰํͰɺݱ࣮ʹදݱ͠ͳ͚ΕͳΒͳ ͍ঢ়ଶΛཧ͢Δඞཁ͕͋Δɻ
FY ϑΥʔϜʹೖྗ͞Εͨจࣈɺ νΣοΫϘοΫεͷબঢ়ଶɺϩάΠ ϯதͷϢʔβใʜ
+49 ७ਮؔ 6*' TUBUF 4UBUF IPPLT"1*܈ͷɺVTF4UBUF ͱ͍ ͏"1*͕ΈࠐΈɻ ˠঢ়ଶετΞ͓Αͼͦͷߋ৽ΞΫ
γϣϯͱίϯϙʔωϯτΛඥ͚ͮ Δɻ ίʔυྫ UFYU4UBUF +49
4UPSF TUBUF Ϗϡʔ ίϯϙʔωϯτ 6*' EBUB TUBUF "DUJPO
TFU4UBUF ΠϕϯτϦεφʔ ʹొ͞Εͨߋ৽ ͕࣮ؔߦ ίϯϙʔωϯτؔͱ ผྖҬʹετΞ͞Ε ͍ͯΔঢ়ଶΛߋ৽ ߋ৽ޙͷTUBUFͰɺ ίϯϙʔωϯτ͕ؔ ࠶࣮ߦ͞ΕΔ TUBUF͓Αͼߋ৽ؔɺϝϞϦ্ͷͲ͔ͬʹอଘ͞Ε͍ͯ Δɻ ࡶ͕ͩͦΕ3FBDU͕͍ͬͯΕྑ͍ࣄ
G lॳظঢ়ଶz ͷੈքઢ ঢ়ଶભҠʹ͍ɺεφοϓγϣοτͱͯ͠ͷ6*͕ഁغੜ͞Ε͍ͯΔɻ ʢৗʹଘࡏ͢ΔԿ͔ɺͷ෦ঢ়ଶ͕มԽ͍ͯ͘͠ͱ͍͏Θ͚Ͱͳ͍ʣ G l͜Μͪʹz ͷੈքઢ G lຊΤϥʔϩʔʜz
ͷੈքઢ
1SPQT +49 ७ਮؔ 6*' EBUB TUBUF TJEF&GGFDU TJEF& ff
FDU ݱ࣮ʹɺ6* +49 ΛϦλʔϯ͢Δͱ͍͏ओతҎ֎ ʹɺ෭తͷͨΊͷखଓతͳίʔυͷඞཁ͕͋Δɻ FY νϟοτΞϓϦΛఆ͠ɺαʔόଆͱίωΫγϣ ϯΛுΔॲཧͳͲ ίϯϙʔωϯτͷඳըͱڞʹɺ MJTUFO͢Δඞཁ͕͋Δɻ
1SPQT +49 ७ਮؔ 6*' EBUB TUBUF TJEF&GGFDU TJEF& ff
FDU IPPLT"1*܈ͷɺVTF& ff FDU ͱ͍͏"1*͕Έࠐ Έɻ ˠݱ࣮ੈքʹͳΜΒ͔ͷ෭࡞༻Λٴ΅͢ίʔυΛॻ ͚Δɻ ίʔυྫ
1SPQT Ҿ +49 จॻߏ 6*' EBUB TUBUF
TJEF&GGFDU TJEF& ff FDU ࠩݕग़ɾࠩߋ ৽Λܦ࣮ͯࡍͷ )5.-ʹʜ ίϯϙʔωϯτ ؔ 4UBUF
ิɿϛχϚϜҎ্ͷ෦ͷνϥݟͤ
ΤϥʔɺϩʔσΟϯά੍ޚɺόοΫΤϯυαʔϏε͔Βͷσʔ λऔಘ
1SPQ T +49 TJEF & ff FDU ίϯϙʔω ϯτ
4UBUF VTF& ff FDU Θͳ͍͕ɺαʔό σʔλऔಘϚϯτ࣌ʹ࣮ߦ VTF4UBUF Θͳ͍͕ɺαʔό σʔλίϯϙʔωϯτ͕࣋ͭzঢ়ଶz Τϥʔڥք ϩʔσΟϯάڥք $PNQPOFOUCBTFE࠶ͼ
ॳճʹɺԼͷؔΛશ࣮ͯߦ͠SFOEFS ͦͷޙɺϢʔβΠϯλϥΫγϣϯʹΑΓɺ͜͜ ͷ4UBUF͔QSPQT͕มԽͨ͠ͱ͢Δɻ ˠ͜ͷίϯϙʔωϯτͱͦͷԼͷίϯϙʔωϯ τؔΛ࠶࣮ߦ͢Δ Ծ%0.͓Α ͼ3FOFSͷྲྀΕ ࠶ͼ
Τ ϩ Τ ϩ Τ ϩ Τ ϩ Τ ϩ
Τ ϩ Τ ϩ Τ ϩ Τ ϩ Τ ϩ Τ ϩ Τ ϩ Τ ϩ Τ ϩ Ծ%0.πϦʔ چ ৽ ϦΞϧ%0.πϦʔ Τ ϩ Τ ϩ Τ ϩ Τ ϩ Τ ϩ Τ ϩ Τ ϩ 3FBDU͕৽͍͠ 3FBDU&MFNFOUΛ ࡞ 3FBDU%0.͕ ࠩݕʴ%0.ߋ৽
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ