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
Riot.js v3 Migration道
Search
yuuki79
February 02, 2017
Technology
0
3.5k
Riot.js v3 Migration道
AMESTAGEのRiot.jsをv2からv3に上げるまでの軌跡を描いた感動のストーリー
yuuki79
February 02, 2017
Tweet
Share
More Decks by yuuki79
See All by yuuki79
暗号屋の稼業 @ AWS Blockchain Webinar
79yuuki
0
87
暗号屋の稼業
79yuuki
0
480
NFTビジネス活用の可能性
79yuuki
1
450
サルでもわかるブロックチェーン講座
79yuuki
0
420
仮想通貨これからどうなる?
79yuuki
1
330
ビットコインに対する所有権は認められるのか
79yuuki
0
5.4k
Blockchain x Startup
79yuuki
0
5.5k
Ripple で学ぶ DEX の世界
79yuuki
0
6.2k
日本と海外の放送禁止文化の違い
79yuuki
0
730
Other Decks in Technology
See All in Technology
ブラウザのレガシー・独自機能を愛でる-Firefoxの脆弱性4選- / Browser Crash Club #1
masatokinugawa
1
390
ウォンテッドリーにおける Platform Engineering
bgpat
0
190
アジャイル脅威モデリング#1(脅威モデリングナイト#8)
masakane55
3
160
DETR手法の変遷と最新動向(CVPR2025)
tenten0727
2
1.1k
近年の PyCon 情勢から見た PyCon APAC のまとめ
terapyon
0
290
.mdc駆動ナレッジマネジメント/.mdc-driven knowledge management
yodakeisuke
24
11k
DuckDB MCPサーバーを使ってAWSコストを分析させてみた / AWS cost analysis with DuckDB MCP server
masahirokawahara
0
590
Amebaにおける Platform Engineeringの実践
kumorn5s
6
900
MCP Documentation Server @AI Coding Meetup #1
yyoshiki41
2
2.6k
クォータ監視、AWS Organizations環境でも楽勝です✌️
iwamot
PRO
1
240
Amazon CloudWatch Application Signals ではじめるバーンレートアラーム / Burn rate alarm with Amazon CloudWatch Application Signals
ymotongpoo
5
310
Spice up your notifications/try!Swift25
noppefoxwolf
2
340
Featured
See All Featured
Music & Morning Musume
bryan
47
6.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Faster Mobile Websites
deanohume
306
31k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
650
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
GraphQLとの向き合い方2022年版
quramy
46
14k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.4k
Designing for Performance
lara
607
69k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
9
740
Transcript
αΠόʔΤʔδΣϯτɹࢵ༎ٍ
3JPUKTษڧձ։࠵ʹ͚ͨωλ࡞Γͱ ύϑΥʔϚϯεվળΛΓ͍ͨͱ͍͏ڧ͍ؾ࣋ͪɻ
3JPUKTWରԠ͠·ͨ͠
501ϖʔδͷද͕ࣔβοΫϦʹॖ NTNT NT NTNT NT "GUFS #FGPSF
΄΅શίϯϙʔωϯτʹखΛೖΕΔɻ ςετؚΊͯ̍िؒɺຖऴిؼΓ͘Β͍ͷϖʔεɻ
ͱΓ͋͑ͣWʹ͋͛ͯΈͨ w Λ༨༟Ͱ͑ΔΤϥʔϩά w ύοτݟ͘Β͍Λͯ͠શ่͕ͯյͯ͠Δ w সͬͨN ?Ч? w
WͰͬͯͨΒ࠷ۙW͕ग़ͯসͬͨ N ?Ч?
ςϯϓϨʔτΤϥʔ͕ग़ΔΑ͏ʹͳͬͯͨ w ςϯϓϨʔτͰॳظԽ͞Εͯͳ͍ͱ͔ͰେྔʹΤϥʔ w <p>{ item.value }</p>ͰNPVOU࣌ʹJUFN͕ VOEFpOEͩͱμ ϝɻthis.item =
{}ͱ͔ͬͯରԠ w ॳظԽେࣄͳͷͰΤϥʔ͕ग़ΔΑ͏ʹͳͬͯخ͍͠վ ળ 3JPUͰɺλάͷςϯϓϨʔτͷΤϥʔΛΩϟον͢ΔͨΊʹࣗͰؔΛηοτ͢Δ ඞཁ͕͋Γ·ͨ͠ɻ3JPUͰɺλάͷશͯͷςϯϓϨʔτΤϥʔDPOTPMFFSSPS͔Βग़ྗ ͞Ε·͢ɻ DPOTPMF"1*͕ར༻Մೳͳ߹
w WͰͷJGݟͨͦͪ͜ΌΜͱಈ͍͍ͯΔ͕ɺݟ͑ͳ͍ͱ ͜ΖͰλάͷϚϯτ͕͍ͬͯͨͷ͕Βͳ͘ͳͬͨɻ w FBDI\PQFO <USVF><>^Έ͍ͨʹFBDIͰۭϧʔϓΛ͢Δ ͱϚϯτ͞Εͳ͍ͷͰύϑΥʔϚϯεతʹͦ͏ॻ͍ͯͨ w JGʹશ෦ॻ͖͠FBDIΛ͏ͱQBSFOUΛݟͳ͍ͱͦΕ ҎԼͷλάͰ͕ࢀরग़དྷͳ͍ͷͰλά͕ԚΕͯͨͷΛΩ
ϨΠʹʂ JGจ͕JGจʹͳͬͨ
w ແବͳ࣮࣌ߦ͞Ε͍ͯͨ༁ͩ͠ɺύϑΥʔϚϯεվળʹྑ ͦ͞͏ͳͷͰܴ w GPSNͰPOTVCNJU\TVCNJU&WFOU^Έ͍ͨͳ͜ͱΛͯ͠Δॴ ͰϖʔδϦϩʔυ͞ΕͪΌͬͨΓɻ w શॲཧʹద༻ͤͣɺΫϦοΫΠϕϯτͰͷ͋Δͱ͜Ζ Ͱ this.submitEvent
= (e) => { ɹ e.preventDefault(); } ͯ͠ରԠɻ ࣗಈQSFWFOU%FGBVMUͷഇࢭ
w దʹมߋ͍͕ͯͨ͠ҧ͏ڍಈΛ͍ͯ͠Δύλʔϯ͕͋ͬͨɻ w 0CKFDU͡Όͳ͍͚Ͳ"SSBZͰೋॏʹϧʔϓͤͯ͞Δ࣌ͷڍಈ͕ͪΌΜͱ͢ΔΑ͏ʹͳͬͯͨ ΦϒδΣΫτϧʔϓͷจ๏มߋ ΦϒδΣΫτͷϧʔϓͷจ๏͕มΘΓ·͢ɻҎલLFZ WBMVFJOPCKFDUͰ͕ͨ͠ɺ WBMVF LFZJOPCKFDUʹมߋ͞Ε·͢ɻ <div
each=“value, key in Array”> <li each=“key2 in Array2”> <p>{ key2 }</p> // ←͜͜ʹkey͕དྷ͍ͯͨɻv2ͪΐͬͱม ( hoge, fuga ) </li> </div> Array2 = [ { hoge: { objKey: objValue } }, { fuga: { objKey: objValue } } ] // ͜Ε͕ͦΕͧΕ hoge, fuga ͷ object ͕ key2 ʹདྷΔΑ͏ʹͳͬͯ͠·ͬͨͷͰɺ͜͏ͬͯमਖ਼ͨ͠ <div each=“value, key in Array”> <li each=“value2, key2 in Array2”> // ←value2, key2 ͷΑ͏ʹ̎ͭҾΛ༻ҙͨ͠ <p>{ key2 }</p> </li> </div>
w UIJTPO bVQEBUF` ͍ͯͨ͠தͰUIJTVQEBUF ͕ॻ ͍ͯ͋ΔλάͰൃੜɻ w VQEBUF͕དྷͨͱ͖ʹUIJTVQEBUF উखʹى͜ ΔͷͰফͯ͠ରԠɻ
ແݶϧʔϓͯ͠ΔͬΆ͍Τϥʔ͕ग़ͯདྷΔ
w ࠓ·Ͱ <button-tag each={buttons} onclick={ clickEvent }> ͬͯॻ͍ͯಈ͍͚ͯͨͲparent.clickEventͬͯ ॻ͔ͳ͍ͱಈ͔ͳ͔ͬͨΓɻ w
Ͳ͔͜ͰZJFMEͬͯΔλάʹZJFMEUBH\IPHF^ ZJFMEUBHͰ͚ͬͯͨͲɺ\QBSFOUIPHF^ͬͯॻ͔ ͳ͍ͱμϝͳײ͡ʹΏΒ͕͗ͳ͘ͳͬͨɻ FBDIͱZJFMEͰͷQBSFOU͕ద͡Όͳ͘ͳͬͨ
w ओʹGPSNͷॲཧ͕յΕΔɻ w <form id=“formId”>ʹରͯ͠ let formId = this.formId ͬͯऔΕͯͨ
w <form ref=“formId”>ʹରͯ͠ let formId = this.refs.formId ͰऔΔΑ͏ʹमਖ਼ OBNFͱJEʹΑΔ%0.ࢀরͷഇࢭ
w UIJTPO bNPVOU` ͰUIJTVQEBUF ͕ແͯ͘ಈ͍ͯ ͨՕॴ͕͋ͬͨ w ࢠͷVQEBUF͕ʹΘΒͳ͘ͳͬͨӨڹ͔ɻແ ବͩͬͨͷͰྑ͍มߋͩͱࢥ͏ɻ w
దʹUIJTVQEBUF ΛͬͯλάΛߋ৽ɻ UIJTPO bNPVOU` ͷڍಈʹؾΛ͏
w WJSUVBMJG\EBUB^IPHFIPHFWJSUVBMΈ͍ͨͳ ͍ํΛͯ͠ΔॴͰදࣔ͞ΕͯΔͷʹΤϥʔ͕ग़ͯͨ Γ w WJSUVBM͕ԿJGධՁ͞ΕΔ༷ͳՕॴͰڬΜͰ͋ͬ ͨաڈͷλά͕ͬͯ͠·͍ͬͯͨΓɻɻ w ਂ͍ͤͣʹIPHFJG\EBUB^ͬͯॻ͍ͨΒແ ͘ͳ͚ͬͨͲɻɻWJSUVBMͳΜ͔ո͍͠ͷͰಈ࡞Ͱࠔͬ
ͨΒΘͳ͍ํ͕ྑ͍͔ɻɻ WJSUVBM͕ո͍͠ɾɾɾ
w W w FBDIͰZJFMEͬͯΔͱFBDIͰճͯ͠ΔJUFN͕དྷͳ͘ͳͬ ͨɻ w QBSFOUʹ͍Δ͔ͱࢥ͚ͬͨͲډͳ͍ɻ୳ͨ͠Β@QBSFOUʹ ೖ͍ͬͯͨͷͰ@QBSFOUJUFNͬͯͬͨΒདྷͨ w FBDI\WBMVF
JJOWBMVFT^ͬͯॻ͍ͨΒZJFMEʹ @QBSFOUWBMVF @QBSFOUJͬͯॻ͔ͳ͍ͱདྷͳ͍ɻ w ԼهJTTVFͱಉ͡ݱΆ͍ w IUUQTHJUIVCDPNSJPUSJPUJTTVFT ZJFME FBDIͰٽ͘
w W w @QBSFOU͕ഇࢭɻ@@QBSFOUʹมߋɻ @@͍͍ͬͯͬͯͷ͔ʜʁ w WͰZJFMEͰQBSFOU͕ͪΌΜͱݟΒΕΔ༷ʹͳͬͨͱࢥͬͯͨΒFBDIͰճͯ͠Δ࣌ͷZJFMEʹ QBSFOUࢦఆͯ͠ॻ͘ͱಧ͔ͳ͍ɻɻ w ࣗλάͷFBDIʹؔͯ͠ZJFMEʹQBSFOUແ͠Ͱσʔλ͕͍ͬͯΔΆ͍
ZJFME FBDIͰٽ͘ <font> <span> <yield/> </span><br> </font> <font each="{testItems}" class="{label}"> "{parent.label}", </font> <font each="{testItems}" class="{label}"> "{label}", </font> ZJFMEͬͨλάͱσʔλ σʔλ͕Βͳ͍ σʔλ͕ͬͪΌ͏ this.testItems = [ { label: 'Nyan' }, { label: 'Meow' }, { label: 'Meaou' } ];
w *&Ͱ@@QBSFOUJUFNҎԼͷσʔλ͕དྷͳ͍͕࣌͋Δɻɻ w QMVOLFSͰ୯७ʹॻ͚ͩͩ͘ͱ࠶ݱ͠ͳ͍ɻɻ w IUUQQMOLSDPFEJU+02ET*+54&S&O QQSFWJFX w ٽ͘ٽ͘ZJFMEར༻Λஅ೦ɻPQUTܦ༝ͰZJFMEʹͨ͠ ͍Λύε
ZJFME FBDIͰٽ͘
w ͍ʂʂ w ϥΠϑαΠΫϧ͕࠷దԽ͞ΕͨΓɺ৭ΜͳύϑΥʔϚϯεվળ͕ೖͬͨͷͰૉΒ͍͠ w FWFOUॲཧ͕ΊͬͪΌ͍ w PCTFSWBCMFͳॲཧΛ࿈ଧ͢ΔͱΨοπϦ͘ͳͬͯͨͷ͕ղফ ".&45"(&ͷΪϑτૹ৴
w JG͕ͪΌΜͱJGʹͳͬͨͷͰ͑Δײ͕૿ͨ͠ w VQEBUF NPVOUΠϕϯτͷڍಈ͕҆ఆ w ࢠλά͔ΒͷӨڹΛड͚ͳ͔ͬͨΓɺNPVOUલʹVQEBUF͕དྷͳ͘ͳͬͨΓɺΑΓײతʹ ͑ΔɻύϑΥʔϚϯεʹྑͦ͞͏ w JGͰ։͍ͨΓดͨ͡Γͨ͠λάʹͪΌΜͱຖճNPVOU͕དྷΔΑ͏ʹͳͬͯ৺ʹӫཆɺ͜Ε ͧNPVOUͬͯײ͡ͷϥΠϑαΠΫϧվળʹ৺ΛଧͨΕͨ Wʹͯ͠خ͔ͬͨ͜͠ͱ
3JPUKTษڧձൃදޙͷه w 3JPUKTWͰZJFMEFBDIͰQBSFOUΛݟͳ͖Ό ͱ͔ɺͦ͏͍͏είʔϓͷ͕ΨοπϦղܾ͢Δ Β͍͠ɻ w ݁ɿΑɾɾɾʂʂ
5IBOLZPV