Slide 1

Slide 1 text

ࣤΒΕ֮ͯ͑Δ &4 !TPUB :"1 BDIJNPO $"TJB)BDIJPKJ-JHIUJOH5BML

Slide 2

Slide 2 text

ࣗݾ঺հ w !TPUB w +4ྺ೥ w ޷͖ͳݴ༿ɿ7 w ݏ͍ͳݴ༿ɿ*OUFSOFU&YQMPSFS

Slide 3

Slide 3 text

&4

Slide 4

Slide 4 text

&4 w ࡢ೥ϦϦʔε͞Εͨ&$."4DSJQUͷ৽͍͠όʔ δϣϯ w ʲॕʳ&4΋͜ͷલग़ͨΑ

Slide 5

Slide 5 text

&4ͱͷҧ͍ w લճόʔδϣϯ͔Βͷมߋ͕ΊͪΌͪ͘Όଟ͍ w ྆खͷࢦͰऩ·Βͳ͍਺ͷ৽ػߏ͕ʜ w ࠓ·ͰͭΒ͔ͬͨ+4ͷ໰୊ͷଟ͕͘ղܾ͞Εͨ

Slide 6

Slide 6 text

#VU ৽ػೳଟ͓͗͢΅͑ΒΕͳ͍ʜ Ňŏ﹏ŏ

Slide 7

Slide 7 text

/FXGFBUVSFT w DPOTUMFU w BSSPXGVODUJPO w PCKFDUMJUFSBM w DMBTTTZOUBY w 1SPYZ w 4ZNCPM w FYQPSUJNQPSU w TQSFBEPQFSBUPS w EFGBVMUQBSBNFUFS w BOENPSF ꒪⌓꒪

Slide 8

Slide 8 text

֮͑Δͷେมʜ

Slide 9

Slide 9 text

͜͏͍͏࣌Ͳ͏͖͚ͯͨͬ͠ʜ ɾТɾʆ

Slide 10

Slide 10 text

ࠓ·Ͱͷਓੜ w ॓୊

Slide 11

Slide 11 text

ࠓ·Ͱͷਓੜ w ॓୊ˠࣤΒΕ͔ͯΒ΍Δ

Slide 12

Slide 12 text

ࠓ·Ͱͷਓੜ w ॓୊ˠࣤΒΕ͔ͯΒ΍Δ w Ոࣄ

Slide 13

Slide 13 text

ࠓ·Ͱͷਓੜ w ॓୊ˠࣤΒΕ͔ͯΒ΍Δ w ՈࣄˠࣤΒΕ͔ͯΒ΍Δ

Slide 14

Slide 14 text

ࠓ·Ͱͷਓੜ w ॓୊ˠࣤΒΕ͔ͯΒ΍Δ w ՈࣄˠࣤΒΕ͔ͯΒ΍Δ w डݧษڧ

Slide 15

Slide 15 text

ࠓ·Ͱͷਓੜ w ॓୊ˠࣤΒΕ͔ͯΒ΍Δ w ՈࣄˠࣤΒΕ͔ͯΒ΍Δ w डݧษڧˠࣤΒΕ͔ͯΒ΍Δ

Slide 16

Slide 16 text

ࠓ·Ͱͷਓੜ w ॓୊ˠࣤΒΕ͔ͯΒ΍Δ w ՈࣄˠࣤΒΕ͔ͯΒ΍Δ w डݧษڧˠࣤΒΕ͔ͯΒ΍Δ w ࢓ࣄ

Slide 17

Slide 17 text

ࠓ·Ͱͷਓੜ w ॓୊ˠࣤΒΕ͔ͯΒ΍Δ w ՈࣄˠࣤΒΕ͔ͯΒ΍Δ w डݧษڧˠࣤΒΕ͔ͯΒ΍Δ w ࢓ࣄˠࣤΒΕ͔ͯΒຊؾͩ͢

Slide 18

Slide 18 text

ʮ͓ࣤΓʯͦ͜Ϟνϕʔγϣϯ w ਓ͸ࣤΒΕΔͱؤுΕΔ w զʑͷۀքͰ͸ SZ

Slide 19

Slide 19 text

ٹੈओΛ୳͢ʜ +4จ๏Λࣤͬͯ͘ΕΔਓ͸͍ͳ͍ͩΖ͏͔

Slide 20

Slide 20 text

ٹੈओΛ୳͢ʜ +4จ๏Λࣤͬͯ͘ΕΔਓ͸͍ͳ͍ͩΖ͏͔

Slide 21

Slide 21 text

&4-JOU w +BWB4DSJQUͷจ๏νΣοΧʔ w ඇৗʹ๛෋ͳϧʔϧ͕༻ҙ͞ΕͯΔ w ଞͷਓͷϧʔϧϑΝΠϧΛJNQPSU͢Δ͜ͱ͕Մೳ

Slide 22

Slide 22 text

͍ΖΜͳϧʔϧ w FTMJOUDPOpHFTMJOU w FTMJOUDPOpHBJSCOC w FTMJOUDPOpHHPPHMF w FTMJOUDPOpHTUBOEBSE w FUD

Slide 23

Slide 23 text

FTMJOUDPOpHBJSCOC w &4༻ϧʔϧΛҰ൪࠷ॳʹ࡞Γ࢝Ίͨ w ਓؾϧʔϧ w &4ه๏Ͱॻ͘ͱΊͪΌͪ͘ΌౖΒΕΔ w IUUQTHJUIVCDPNBJSCOCKBWBTDSJQUCMPCNBTUFS QBDLBHFTFTMJOUDPOpHBJSCOCCBTFSVMFTFTKT

Slide 24

Slide 24 text

ͯ͜ͱͰ w "JSCOCϧʔϧͰ&4Λ֮͑Δ

Slide 25

Slide 25 text

ҧ͏ ʄшʄ ސ٬ͷٻΊͯΔ΋ͷ͸ͦ͏͡Όͳ͍

Slide 26

Slide 26 text

ސ٬ͷຊ౰ʹඞཁͩͬͨ΋ͷ ʴ

Slide 27

Slide 27 text

ސ٬ͷຊ౰ʹඞཁͩͬͨ΋ͷ ⋵ ʴ

Slide 28

Slide 28 text

͜͜·Ͱ͸৺ߏ͑ͷ࿩ ࣮ࡍʹࢼͯ͠ΈΔ

Slide 29

Slide 29 text

ਓப w IUUQTHJUIVCDPNTPUB1BSUZ w 3FBDU/PEFKTͷੲॻ͍ͨΞϓϦΛνΣοΫ ͢Δ

Slide 30

Slide 30 text

*OTUBMM $ npm i -D eslint \ eslint-config-airbnb \ eslint-plugin-import \ eslint-plugin-react

Slide 31

Slide 31 text

FTMJOUSD { "extends": "airbnb" }

Slide 32

Slide 32 text

$PNNBOE $ ./node_modules/eslint/bin/eslint.js src/ # or $ npm run lint # package.jsonͰ”eslint src/“Λఆٛ

Slide 33

Slide 33 text

%&.0

Slide 34

Slide 34 text

݁Ռ w ίʔυྔ͸ߦ w ͷΤϥʔͱͷܯࠂ͕ग़ͨ w զʑͷۀքE SZ

Slide 35

Slide 35 text

&4༝དྷͷΤϥʔ • Unexpected var, use let or const instead • 'option' is never reassigned, use 'const' instead • Expected property shorthand

Slide 36

Slide 36 text

&4༝དྷͷΤϥʔ • Unexpected var, use let or const instead • 'option' is never reassigned, use 'const' instead • Expected property shorthand WBS͡Όͳͯ͘MFU DPOTUΛ࢖͑ ࠶୅ೖ͠ͳ͍ͳΒDPOTU࢖͑ 0CKFDUTIPSUIBOEͰॻ͚Δͥ

Slide 37

Slide 37 text

ଞʹ΋ʜ w ඇৗʹଟ͘ͷϧʔϧ͕ఆٛ͞Ε͍ͯΔ w ஌ͬͯΔه๏Ͱؤுͬͯॻ͍ͯɺ࿙Εͨ΋ͷΛ &4-JOUʹࣤͬͯ΋Β͏ͱΑ͍

Slide 38

Slide 38 text

·ͱΊ

Slide 39

Slide 39 text

େࣄͳͷ͸Ϟνϕʔγϣϯ w ࣤΒΕΔͱؤுΕΔ w ࣤͬͯ͘ΕΔ͜ͱΛ͝๙ඒͩͱࢥ͑͹΋ͬͱؤ ுΕΔ w &4-JOUʹࣤͬͯ΋Βָͬͯ͘͠&4ֶश

Slide 40

Slide 40 text

Ҏ্ɺղࢄʂ