Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ඇSPAͰখ࢝͘͞ΊΔ ReactΞʔΩςΫνϟ ݹՈ େ
Slide 2
Slide 2 text
ࣗݾհ ݹՈ େ (@enzerubank) ϑϦʔϥϯε ϑϩϯτΤϯυΤϯδχΞ طଘͷRailsΞϓϦReactͰ৽ػೳΛՃ
Slide 3
Slide 3 text
ࠓճͷൃදʹࢸͬͨഎܠ ○ SPAಋೖͷهࣄ͕ଟ͍ ○ ඇSPAgemΛͬͨύλʔϯ͔ɺ webpackͰ෦తͳTipsͷهࣄ͕ଟ͍
Slide 4
Slide 4 text
ࠓओʹ͢͜ͱ ○ ඇSPAΞϓϦʹReact+webpackΛಋೖ͢Δ ࡍͷશମతͳΞʔΩςΫνϟͱࠔΓϙΠϯ τͷݟڞ༗
Slide 5
Slide 5 text
͜Μͳ͜ͱ͠·ͤΜ ○ React,ES6,webpackʹؔ͢Δجૅతͳ ○ ଞͷJSϑϨʔϜϫʔΫͱͷൺֱͷ
Slide 6
Slide 6 text
ࠓճಋೖͨ͠ελοΫ ○ React ○ flowtype ○ webpack ○ ES6 + Babel ○ jQuery
Slide 7
Slide 7 text
ࠓճಋೖͨ͠ελοΫ ○ React ○ flowtype ○ webpack ○ ES6 + Babel ○ jQuery Reduxֶशίετ͕ߴ͍ͷͰݟૹΓ ܕΛܾΊΔͱAPIଆͱͷҙࢥૄ௨ָ͕ɻΦεεϝ σβΠφʔ͕ॻ͘JSʹؔͯ͠ڐ༰
Slide 8
Slide 8 text
શମͷReactίϯϙʔωϯτߏ Page App App Component Component ϖʔδͷى ֤UIύʔπͷ ֤UIύʔπͷࢠ
Slide 9
Slide 9 text
ϖʔδ (Page) UIύʔπ(App) UIύʔπ(App)
Slide 10
Slide 10 text
webpackϏϧυ • entryʹෳΤϯτϦʔϙΠϯτΛࢦఆ • ϖʔδຖͷXXXPage.jsΛES6 ➔ ES5ʹม
Slide 11
Slide 11 text
Pageͷׂ (ϖʔδͷى) • ඞཁͳUIύʔπΛReactDOM.render • ֤UIύʔπXXXApp.jsͰ໋໊Λ౷Ұ
Slide 12
Slide 12 text
Appͷׂ (֤UIύʔπͷ) • stateͷอ࣋/มߋΛ୲ • ඇಉظॲཧͷϩδοΫશͯ͜͜ʹهࡌ ※ ن͕େ͖͘ͳ͖ͬͯͨΒRedux, Immutable.jsͰׂΛݕ౼
Slide 13
Slide 13 text
Appͷׂ (֤UIύʔπͷ) • stateͷflowtypeͰܕఆٛ • APIଆͱͷσʔλͷೝࣝ߹Θͤʹศར
Slide 14
Slide 14 text
Componentͷׂ (֤UIύʔπͷࢠ) • (App)͔ΒͷpropsΛϨϯμϦϯά • ϢʔβʔͷΠϕϯτΛʹ͢
Slide 15
Slide 15 text
ඇಉظॲཧʹؔ͢ΔTips • axiosͱ͍͏HTTPΫϥΠΞϯτΛར༻ • ϞοΫ༻ҙͰ͖ͯAPIແ͠Ͱ։ൃͰ͖Δ
Slide 16
Slide 16 text
ॳճͷσʔλϩʔυͪͲ͏͢Δʁ • gonͰॳճσʔλΛJS͠ճආ • SSRख͕͔͔ؒΓͦ͏ͩͬͨͷͰࠓճอཹ • σʔλऔಘྃ·Ͱը໘͕දࣔ͞Εͳ͍
Slide 17
Slide 17 text
ࠓޙऔΓΈ͍ͨ͜ͱ ○ CSS in JSͷಋೖ ○ εϚϗදࣔͷύϑΥʔϚϯενϡʔχϯά ○ JQueryͱReactͷ͍͚ͷϧʔϧࡦఆ ※ UIύʔπຖʹָͳํͰ࣮Ͱ͖ΔΑ͏ʹ͍͖͍ͯͨ͠
Slide 18
Slide 18 text
LT༰ͷϑΟʔυόοΫΛ ࠙ձͰ͚Δͱخ͍͠Ͱ͢ʂ