ReactHooks_CustomHookAndEncapsulation

3cb4e761dbdb7aebd1ffd85f752e1e3e?s=47 sonata
July 29, 2019

 ReactHooks_CustomHookAndEncapsulation

3cb4e761dbdb7aebd1ffd85f752e1e3e?s=128

sonata

July 29, 2019
Tweet

Transcript

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

  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
  3. • R e a c t H o o k

    s ͱ ͸ • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4 • · ͱ Ί
  4. 4 3FBDU)PPLT w 3FBDU)PPLT͸ɺ3FBDUͰ௥Ճ͞Εͨ৽ػೳɻ w TUBUFͳͲͷ3FBDUͷػೳΛɺΫϥεΛॻ͔ͣʹ࢖͑ΔΑ͏ʹͳΔɻ

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

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

  7. • R e a c t H o o k

    s ͱ ͸ • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4 • · ͱ Ί
  8. 8 ΧελϜϑοΫͷ࣮ྫ࣮ߦΠϝʔδ w ίϯϙʔωϯτؒͷϖʔδωʔγϣϯΛ࣮૷͢ΔVTF-PDBM)JTUPSZΧελϜϑοΫɻ w ϒϥ΢βͷIJTUPSZ"1*ͷΑ͏ͳ΋ͷɻ ࣍΁ ࣍΁ճ ໭Δճ ϥεττοϓϥετ

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

  10. • R e a c t H o o k

    s ͱ ͸ • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4 • · ͱ Ί
  11. 11 ΧελϜϑοΫͷ࣮ྫW w ίϯϙʔωϯτ͔ΒϩδοΫΛΧελϜϑοΫʹ෼཭͢Δɻ w ίϯϙʔωϯτ͕ඞཁͳ৘ใ͚ͩΛฦ͠ɺଞ͸ΧελϜϑοΫʹӅṭ͢Δɻ w ίϯϙʔωϯτ͕ඞཁͳ΋ͷ w ஋͸ɺDVSSFOU1BHF

    w ૢ࡞͸ɺ5PQɺ/FYUɺ#BDLɺ-BTUɺ3FTFU w ˞ཤྺҰཡ͸σόοάҎ֎ʹ͸ෆཁͳͷͰฦ͞ͳ͍ɻ
  12. 12 ΧελϜϑοΫͷ࣮ྫW w ΧελϜϑοΫ͔ΒෆཁͳIJTUPSZ͸ฦͣ͞ɺඞཁͳ஋ͱૢ࡞͚ͩΛฦ͢ɻ

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

  14. • R e a c t H o o k

    s ͱ ͸ • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4 • · ͱ Ί
  15. 15 ΧελϜϑοΫͷ࣮ྫW w ࠓճͷૢ࡞ʹରͯ͠ΠϯλʔϑΣʔεΛఆٛ͢Δɻ

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

  17. • R e a c t H o o k

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

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

  20. • R e a c t H o o k

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

  22. • R e a c t H o o k

    s ͱ ͸ • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4 • · ͱ Ί
  23. 23 ΧελϜϑοΫͱΫϥε w ͜ͷܗʹԿ͔ݟ͕֮͑͋ΔɻɻɻΫϥεʂ w Ϋϥε w ঢ়ଶϝϯόϑΟʔϧυ w ૢ࡞ϝιου

    w ॳظԽίϯετϥΫλ w ΧελϜϑοΫ w ঢ়ଶVTF4UBUF w ૢ࡞ؔ਺ w ॳظԽϑοΫͷҾ਺
  24. 24 ·ͱΊ w 3FBDU)PPLTͷΧελϜϑοΫͷొ৔ʹΑΓɺΦϒδΣΫτࢦ޲ͷϊ΢ϋ΢͕׆༻Ͱ͖ ΔΑ͏ʹͳͬͨɻ w ద੾ͳઃܭʹΑΓҎԼ͕࣮ݱՄೳ w ୯Ұ੹೚ͷݪଇ 431

    ɺ৘ใӅṭ ΧϓηϧԽ  w Մಡੑͷ޲্ɺ࠶ར༻ੑͷ޲্
  25. 25 ·ͱΊ w ࠷େͷϝϦοτ w ίϯϙʔωϯτʹґଘ͠ͳ͍ϩδοΫ͚͕ͩ044ͱͯ͠ڞ༗͞ΕΔΑ͏ʹͳͬͨ w ࠓޙ͸ঢ়ଶΛ࣋ͭϩδοΫΛॻ͘લʹɺݕࡧ͢Δ͜ͱΛ͓͢͢Ί͠·͢ɻ w IUUQTHJUIVCDPNTUSFBNJDISFBDUVTF

    w IUUQTOJLHSBGHJUIVCJPSFBDUIPPLT w IUUQTVTFIPPLTDPN