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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
yuuki79
February 02, 2017
Technology
3.6k
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
アップデートで何が変わった?デモで学んで使いこなすIBM Bob2.0
muehara
0
220
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
480
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
0
130
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
2
930
「休む」重要さ
smt7174
6
1.6k
Jitera Company Deck
jitera
0
270
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
740
人とエージェントが高め合う協業設計
kintotechdev
0
740
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
200
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
260
現場との対話から始める “作る前に問い直す”業務改善
mochico50
1
210
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
370
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
170
WENDY [Excerpt]
tessaabrams
11
38k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
410
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
190
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
Thoughts on Productivity
jonyablonski
76
5.3k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Mobile First: as difficult as doing things right
swwweet
225
10k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
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