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
3.7k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Riot.js v3 Migration道
AMESTAGEのRiot.jsをv2からv3に上げるまでの軌跡を描いた感動のストーリー
yuuki79
February 02, 2017
More Decks by yuuki79
See All by yuuki79
暗号屋の稼業 @ AWS Blockchain Webinar
79yuuki
0
130
暗号屋の稼業
79yuuki
0
530
NFTビジネス活用の可能性
79yuuki
1
510
サルでもわかるブロックチェーン講座
79yuuki
0
470
仮想通貨これからどうなる?
79yuuki
1
380
ビットコインに対する所有権は認められるのか
79yuuki
0
5.6k
Blockchain x Startup
79yuuki
0
5.7k
Ripple で学ぶ DEX の世界
79yuuki
0
6.4k
日本と海外の放送禁止文化の違い
79yuuki
0
810
Other Decks in Technology
See All in Technology
Cursor Meetup Sapporo - Cursor物語 続編
cocacola917
0
140
モダンフロントエンド 開発研修
recruitengineers
PRO
4
570
Digitization部 紹介資料
sansan33
PRO
2
7.7k
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
330
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
250
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.2k
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
120
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
450
ホームラボ紹介
y_sera15
0
130
SmartHR Engineering Team Deck
smarthr
1
1.5k
20分でわかるセキュアAPI
nwiizo
1
200
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
630
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The World Runs on Bad Software
bkeepers
PRO
72
12k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
200
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
430
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
How to make the Groovebox
asonas
2
2.3k
Visualization
eitanlees
152
17k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
330
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
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