$30 off During Our Annual Pro Sale. View Details »

ReactHooks_CustomHookAndEncapsulation

 ReactHooks_CustomHookAndEncapsulation

sonatard

July 29, 2019
Tweet

More Decks by sonatard

Other Decks in Programming

Transcript

  1. 1
    3FBDU)PPLTΧελϜϑοΫͱΧϓηϧԽ
    3FBDUKTNFFUVQॳ৺ऀ׻ܴ-5ձ
    !TPOBUBSE

    View Slide

  2. D Technologies
    ͦͳଠ
    @sonatard
    • Linux Server and Network Engineer
    # System C
    • Wireless LAN Module Simulator
    # Cݴޠ
    • TCP/IP protocol stack on RTOS
    • TCP Offload Engine
    # Go
    • Google App Engine
    # TypeScript
    • React+Redux

    View Slide

  3. • R e a c t H o o k s ͱ ͸
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4
    • · ͱ Ί

    View Slide

  4. 4
    3FBDU)PPLT
    w 3FBDU)PPLT͸ɺ3FBDUͰ௥Ճ͞Εͨ৽ػೳɻ
    w TUBUFͳͲͷ3FBDUͷػೳΛɺΫϥεΛॻ͔ͣʹ࢖͑ΔΑ͏ʹͳΔɻ

    View Slide

  5. 5
    3FBDU)PPLT͕ఏڙ͢Δؔ਺
    w 3FBDU)PPLT͸ɺVTF4UBUFҎ֎ʹ΋VTF&⒎FDUɺVTF$POUFYUͳͲ߹ܭݸͷެ͕ࣜఏڙ
    ͢Δؔ਺͕ଘࡏ͢Δɻ
    w ࠓճ͸VTF4UBUFΛத৺ʹઆ໌͠·͢ɻ

    View Slide

  6. 6
    ΧελϜϑοΫͱΧϓηϧԽ
    w ΧελϜϑοΫͱ͸ಠࣗͷϑοΫΛ࡞੒͢Δ͜ͱɻ
    w ίϯϙʔωϯτ͔ΒϩδοΫΛநग़͢Δ͜ͱͰɺϩδοΫͷ࠶ར༻ੑ͕޲্͢Δɻ
    w ঢ়ଶͱ࣮૷ͷৄࡉΛΧϓηϧԽͰ͖ɺίϯϙʔωϯτʹඞཁͳ஋ͱΠϯλʔϑΣʔεͩ
    ͚Λެ։͢Δ͜ͱ͕ՄೳͱͳΔɻ

    View Slide

  7. • R e a c t H o o k s ͱ ͸
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4
    • · ͱ Ί

    View Slide

  8. 8
    ΧελϜϑοΫͷ࣮ྫ࣮ߦΠϝʔδ
    w ίϯϙʔωϯτؒͷϖʔδωʔγϣϯΛ࣮૷͢ΔVTF-PDBM)JTUPSZΧελϜϑοΫɻ
    w ϒϥ΢βͷIJTUPSZ"1*ͷΑ͏ͳ΋ͷɻ
    ࣍΁ ࣍΁ճ ໭Δճ
    ϥεττοϓϥετ ໭Δճ ཤྺΛফڈ

    View Slide

  9. 9
    ΧελϜϑοΫͷ࣮ྫW
    w ΧελϜϑοΫະ࢖༻ίϯϙʔωϯτͱϩδοΫ͕Ұॹʹهड़͞Ε͍ͯΔ

    View Slide

  10. • R e a c t H o o k s ͱ ͸
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4
    • · ͱ Ί

    View Slide

  11. 11
    ΧελϜϑοΫͷ࣮ྫW
    w ίϯϙʔωϯτ͔ΒϩδοΫΛΧελϜϑοΫʹ෼཭͢Δɻ
    w ίϯϙʔωϯτ͕ඞཁͳ৘ใ͚ͩΛฦ͠ɺଞ͸ΧελϜϑοΫʹӅṭ͢Δɻ
    w ίϯϙʔωϯτ͕ඞཁͳ΋ͷ
    w ஋͸ɺDVSSFOU1BHF
    w ૢ࡞͸ɺ5PQɺ/FYUɺ#BDLɺ-BTUɺ3FTFU
    w ˞ཤྺҰཡ͸σόοάҎ֎ʹ͸ෆཁͳͷͰฦ͞ͳ͍ɻ

    View Slide

  12. 12
    ΧελϜϑοΫͷ࣮ྫW
    w ΧελϜϑοΫ͔ΒෆཁͳIJTUPSZ͸ฦͣ͞ɺඞཁͳ஋ͱૢ࡞͚ͩΛฦ͢ɻ

    View Slide

  13. 13
    ΧελϜϑοΫͷ࣮ྫW
    w ίϯϙʔωϯτ͕7JFXʹϑΥʔΧεͨ͠ίʔυͱͳΔ

    View Slide

  14. • R e a c t H o o k s ͱ ͸
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4
    • · ͱ Ί

    View Slide

  15. 15
    ΧελϜϑοΫͷ࣮ྫW
    w ࠓճͷૢ࡞ʹରͯ͠ΠϯλʔϑΣʔεΛఆٛ͢Δɻ

    View Slide

  16. 16
    ΧελϜϑοΫͷ࣮ྫW
    w Ұ࿈ͷૢ࡞͕ؔ࿈͕͋Δ͜ͱ͕Θ͔Γ΍͘͢ͳΔɻ
    w ଞͷίϯϙʔωϯτʹରͯ͠ૢ࡞Λ౉͢͜ͱ΋༰қʹͳΔɻ

    View Slide

  17. • R e a c t H o o k s ͱ ͸
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4
    • · ͱ Ί

    View Slide

  18. 18
    ΧελϜϑοΫͷ࣮ྫW
    w 4UBDL -*'0
    ͷσʔλߏ଄ΛΧελϜϑοΫͱͯ͠੾Γग़͢ɻ
    w ΧελϜϑοΫ͸ଟஈߏ੒͕ՄೳͳͷͰɺVTF-PDBM)JTUPSZ͔ΒVTF4UBDLΛݺͿɻ

    View Slide

  19. 19
    ΧελϜϑοΫͷ࣮ྫW
    w VTF-PDBM)JTUPSZ͕4UBDLͷσʔλߏ଄Λҙࣝͤͣɺը໘ભҠͷ੍ޚ͚ͩΛϩδοΫͱ͠
    ͯ࣋ͭΑ͏ʹͳΔɻ

    View Slide

  20. • R e a c t H o o k s ͱ ͸
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4
    • · ͱ Ί

    View Slide

  21. 21
    ΧελϜϑοΫͷ࣮ྫW
    w ίϯϙʔωϯτͷ࠶ඳըΛճආ͢ΔͨΊʹɺVTF$BMMCBDLͱVTF.FNPΛར༻͢Δɻ
    w VTF-PDBM)JTUPSZΛར༻͍ͯ͠Δίϯϙʔωϯτ͕࣮ߦ͞ΕΔͨͼʹɺίʔϧόοΫఆ
    ͕ٛ࠶࣮ߦ͞ΕΔ͜ͱΛճආ͢Δɻ
    w MPDBM)JTUPSZΛผͷίϯϙʔωϯτʹ౉͍ͯ͠Δ৔߹ͳͲʹ͸ҙຯ͕͋Δɻ

    View Slide

  22. • R e a c t H o o k s ͱ ͸
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3
    • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4
    • · ͱ Ί

    View Slide

  23. 23
    ΧελϜϑοΫͱΫϥε
    w ͜ͷܗʹԿ͔ݟ͕֮͑͋ΔɻɻɻΫϥεʂ
    w Ϋϥε
    w ঢ়ଶϝϯόϑΟʔϧυ
    w ૢ࡞ϝιου
    w ॳظԽίϯετϥΫλ
    w ΧελϜϑοΫ
    w ঢ়ଶVTF4UBUF
    w ૢ࡞ؔ਺
    w ॳظԽϑοΫͷҾ਺

    View Slide

  24. 24
    ·ͱΊ
    w 3FBDU)PPLTͷΧελϜϑοΫͷొ৔ʹΑΓɺΦϒδΣΫτࢦ޲ͷϊ΢ϋ΢͕׆༻Ͱ͖
    ΔΑ͏ʹͳͬͨɻ
    w ద੾ͳઃܭʹΑΓҎԼ͕࣮ݱՄೳ
    w ୯Ұ੹೚ͷݪଇ 431
    ɺ৘ใӅṭ ΧϓηϧԽ

    w Մಡੑͷ޲্ɺ࠶ར༻ੑͷ޲্

    View Slide

  25. 25
    ·ͱΊ
    w ࠷େͷϝϦοτ
    w ίϯϙʔωϯτʹґଘ͠ͳ͍ϩδοΫ͚͕ͩ044ͱͯ͠ڞ༗͞ΕΔΑ͏ʹͳͬͨ
    w ࠓޙ͸ঢ়ଶΛ࣋ͭϩδοΫΛॻ͘લʹɺݕࡧ͢Δ͜ͱΛ͓͢͢Ί͠·͢ɻ
    w IUUQTHJUIVCDPNTUSFBNJDISFBDUVTF
    w IUUQTOJLHSBGHJUIVCJPSFBDUIPPLT
    w IUUQTVTFIPPLTDPN

    View Slide