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
1.2k
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
1.1k
Agent Rules as Domain Parser
yodakeisuke
1
2k
.mdc駆動ナレッジマネジメント/.mdc-driven knowledge management
yodakeisuke
32
23k
インフラ高級言語としてのAWS CDK〜"設定"より1段階ハイレベルな抽象化〜
yodakeisuke
1
110
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Making Projects Easy
brettharned
120
6.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
What's in a price? How to price your products and services
michaelherold
246
12k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Practical Orchestrator
shlominoach
190
11k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
RailsConf 2023
tenderlove
30
1.3k
The Language of Interfaces
destraynor
162
25k
Side Projects
sachag
455
43k
Git: the NoSQL Database
bkeepers
PRO
432
66k
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.ߋ৽
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ