Upgrade to Pro — share decks privately, control downloads, hide ads and more …

React Fire

React Fire

8ad58ff2bfccf7b4c07b34000c1d6afd?s=128

Kodai Nakamura

October 04, 2018
Tweet

More Decks by Kodai Nakamura

Other Decks in Programming

Transcript

  1. ෼ͰΘ͔Δ3FBDU'JSF .FHVSPFT,PEBJ/BLBNVSB

  2. ෼ͰΘ͔Δ3FBDU'JSF .FHVSPFT,PEBJ/BLBNVSB

  3. ෼ͰΘ͔Δ3FBDU'JSF .FHVSPFT,PEBJ/BLBNVSB ͸Θ͔Βͳ͍

  4. ෼ͰΘ͔Δ3FBDU'JSF .FHVSPFT,PEBJ/BLBNVSB ͳΜͱͳ͘Θ͔Δ

  5. ,PEBJ/BLBNVSB (JUIVC!LEOL 5XJUUFS!LEOL@@ 4PGUXBSF&OHJOFFSBU8BOUFEMZ JOD /FX(SBET +BWB4DSJQU 5ZQF4DSJQU 3FBDU

  6. ‣ 3FBDU%0.ͷۙ୅Խ ‣ ͬ͘͟Γݴ͏ͱෛ࠴ฦࡁ ‣ ͳʹ͔৽͍͠ػೳ͕௥Ճ͞ΕΔΘ͚Ͱ͸ͳ͍ ‣ ࣍ͷϝδϟʔϦϦʔεʹೖΔ  3FBDU'JSFʁ

  7. ‣ 4UPQSFqFDUJOHJOQVUWBMVFTJOUIFWBMVFBUUSJCVUF ‣ "UUBDIFWFOUTBUUIF3FBDUSPPUSBUIFSUIBOUIFEPDVNFOU ‣ .JHSBUFGSPNPO$IBOHFUPPO*OQVUBOEEPO`UQPMZpMMJUGPS VODPOUSPMMFEDPNQPOFOUT ‣ %SBTUJDBMMZTJNQMJGZUIFFWFOUTZTUFN ‣

    DMBTT/BNFˠDMBTT 3FBDU'JSF 3FBDU'JSFͷ਌JTTVFIUUQTHJUIVCDPNGBDFCPPLSFBDUJTTVFT
  8. ‣ 4UPQSFqFDUJOHJOQVUWBMVFTJOUIFWBMVFBUUSJCVUF ‣ "UUBDIFWFOUTBUUIF3FBDUSPPUSBUIFSUIBOUIFEPDVNFOU ‣ .JHSBUFGSPNPO$IBOHFUPPO*OQVUBOEEPO`UQPMZpMMJUGPS VODPOUSPMMFEDPNQPOFOUT ‣ %SBTUJDBMMZTJNQMJGZUIFFWFOUTZTUFN ‣

    DMBTT/BNFˠDMBTT 3FBDU'JSF
  9. 4UPQSFGMFDUJOHJOQVUWBMVFTJOUIFWBMVFBUUSJCVUF ‣ AWBMVFABUUSJCVUF΁ͷ൓өΛ΍ΊΔ ‣ QSPQFSUZͱBUUSJCVUF͸ҧ͏΋ͷ ‣ QSPQFSUZ+4ͷੈքͷਓ ‣ BUUSJCVUF)5.-ͷੈքͷਓ ‣

    OBUJWFͰ͸ɺϑΥʔϜ΁ೖྗͨ͠ͱ͖͸QSPQFSUZͷΈʹ൓ө͞ΕΔ ‣ 3FBDU΋͜ͷڍಈʹ߹ΘͤΔ΂͖ ‣ ͜Ε͕ݪҼͰى͜Δόά΋ଟ͍
  10. ‣ 4UPQSFqFDUJOHJOQVUWBMVFTJOUIFWBMVFBUUSJCVUF ‣ "UUBDIFWFOUTBUUIF3FBDUSPPUSBUIFSUIBOUIFEPDVNFOU ‣ .JHSBUFGSPNPO$IBOHFUPPO*OQVUBOEEPO`UQPMZpMMJUGPS VODPOUSPMMFEDPNQPOFOUT ‣ %SBTUJDBMMZTJNQMJGZUIFFWFOUTZTUFN ‣

    DMBTT/BNFˠDMBTT 3FBDU'JSF
  11. "UUBDIFWFOUTBUUIF3FBDUSPPUSBUIFSUIBOUIFEPDVNFOU ‣ 3FBDUͷΠϕϯτ͸EPDVNFOUʹ௥Ճ͞ΕΔ ‣ ͚ͩͲɺ3FBDUͷ%0.Πϕϯτ͕ൃՐ͢Δͷ͸OBUJWFͷ%0.Πϕϯτͷ CVCCMJOH͕ऴΘͬͨ͋ͱ ‣ 3FBDU͚ͩͷΞϓϦέʔγϣϯͳΒ໰୊ͳ͍͚Ͳɺ͋ͱ͔Β3FBDUΛಋೖͨ͠৔߹ ʹ໰୊ʹͳΔ͜ͱ͕͋Δ ‣

    OBUJWFଆͰAFWFOUTUPQ1SPQBHBUJPOA͞Ε͍ͯͨΒɺ3FBDUଆͷΠϕϯτ͸ൃՐ͠ ͳ͍
  12. "UUBDIFWFOUTBUUIF3FBDUSPPUSBUIFSUIBOUIFEPDVNFOU https://github.com/facebook/react/issues/8693

  13. ‣ 4UPQSFqFDUJOHJOQVUWBMVFTJOUIFWBMVFBUUSJCVUF ‣ "UUBDIFWFOUTBUUIF3FBDUSPPUSBUIFSUIBOUIFEPDVNFOU ‣ .JHSBUFGSPNPO$IBOHFUPPO*OQVUBOEEPO`UQPMZpMMJUGPS VODPOUSPMMFEDPNQPOFOUT ‣ %SBTUJDBMMZTJNQMJGZUIFFWFOUTZTUFN ‣

    DMBTT/BNFˠDMBTT 3FBDU'JSF
  14. .JHSBUFGSPNPO$IBOHFUPPO*OQVUBOEEPO`UQPMZGJMMJUGPS VODPOUSPMMFEDPNQPOFOUT ‣ PO$IBOHF͸໊͍͍લɻ3FBDUΛ࢝Ίͨ͹͔Γͷͻͱʹͱͬͯ͸Θ͔Γ΍͍͢ ‣ ͚ͲɺJOQVUΠϕϯτͳͷʹPO$IBOHF͸มˠPO*OQVU ‣ DPOUSPMMFEDPNQPOFOU ‣ PO*OQVU͸͍·ͷPO$IBOHFͱಉ͡ৼΔ෣͍ʹ

    ‣ ୈ̎Ҿ਺ʹWBMVFΛ౉͢Α͏ʹͳΔ  ‣ ཧ૝తʹ͸ɺFWFOUUBSHFUWBMVFΛফ͠ڈΓ͍ͨ ‣ PO$IBOHF͸ඇਪ঑ʹ ‣ VODPOUSPMMFEDPNQPOFOU ‣ ϒϥ΢βͱಉ͡Α͏ʹಈ͘
  15. ‣ 4UPQSFqFDUJOHJOQVUWBMVFTJOUIFWBMVFBUUSJCVUF ‣ "UUBDIFWFOUTBUUIF3FBDUSPPUSBUIFSUIBOUIFEPDVNFOU ‣ .JHSBUFGSPNPO$IBOHFUPPO*OQVUBOEEPO`UQPMZpMMJUGPS VODPOUSPMMFEDPNQPOFOUT ‣ %SBTUJDBMMZTJNQMJGZUIFFWFOUTZTUFN ‣

    DMBTT/BNFˠDMBTT 3FBDU'JSF
  16. %SBTUJDBMMZTJNQMJGZUIFFWFOUTZTUFN ‣ Πϕϯτͷ࣮૷͸೥͔ΒมΘͬͯͳ͍ ‣ QPMZpMM΋͋Δ͚ͲɺϞμϯϒϥ΢βʹ͸΄ͱΜͲෆཁ ‣ ͜ͷ͍ͤͰ3FBDU%0.ͷόϯυϧαΠζ͕େ͖͍ ‣ ಠࣗͷΠϕϯτγεςϜΛͳΔ΂͘%0.Πϕϯτʹ͚ۙͮΔ

  17. ‣ 4UPQSFqFDUJOHJOQVUWBMVFTJOUIFWBMVFBUUSJCVUF ‣ "UUBDIFWFOUTBUUIF3FBDUSPPUSBUIFSUIBOUIFEPDVNFOU ‣ .JHSBUFGSPNPO$IBOHFUPPO*OQVUBOEEPO`UQPMZpMMJUGPS VODPOUSPMMFEDPNQPOFOUT ‣ %SBTUJDBMMZTJNQMJGZUIFFWFOUTZTUFN ‣

    DMBTT/BNFˠDMBTT 3FBDU'JSF
  18. DMBTT/BNFˠDMBTT ‣ 3FBDU$PNQPOFOU͸+4ͷ׳शʹै͏΂͖ ‣ +4ʹ͸ɺDMBTT໊Λऔಘ͢ΔͨΊͷɺAOPEFDMBTT/BNFAͱ͍͏1SPQFSUZ͕͋Δ ‣ ͚Ͳɺ3FBDUͷ࣮૷Ͱ͸ɺ ͷྫ֎Λআ͍ͯQSPQFSUZ͕࢖ΘΕ͍ͯΔ ‣ ҙਤతʹҰ؏ͯ͠ͳ͍΋ͷ΋͋Δ

    ‣ APODMJDLAWTAPO$MJDLA ‣ BUUSJCVUF͚ͩ࢖͏Θ͚ʹ΋͍͔ͳ͍ ‣ UBCJOEFYͷ΄͏͕ਖ਼͍͚͠ͲɺUBC*OEFYͷ΄͏͕+4ͬΆ͍ ‣ DMBTT/BNF͸QSPQFSUZ DMBTT͸BUUSJCVUF ‣ Ͳͬͪ΋+4ͬΆ͍
  19. ؔ࿈JTTVFT ‣ 3FBDU'JSF.PEFSOJ[JOH3FBDU%0. ‣ IUUQTHJUIVCDPNGBDFCPPLSFBDUJTTVFT ‣ WBMVFBUUSJCVUF ‣ IUUQTHJUIVCDPNGBDFCPPLSFBDUJTTVFT ‣

    EPDVNFOUFWFOU ‣ IUUQTHJUIVCDPNGBDFCPPLSFBDUJTTVFT ‣ IUUQTHJUIVCDPNGBDFCPPLSFBDUJTTVFT ‣ IUUQTHJUIVCDPNGBDFCPPLSFBDUJTTVFT ‣ PO$IBOHFˠPO*OQVU ‣ IUUQTHJUIVCDPNGBDFCPPLSFBDUJTTVFT ‣ &WFOU4ZTUFN ‣ IUUQTHJUIVCDPNGBDFCPPLSFBDUJTTVFT ‣ DMBTT/BNFˠDMBTT ‣ IUUQTHJUIVCDPNGBDFCPPLSFBDUJTTVFT ‣ IUUQTHJUIVCDPNGBDFCPPLSFBDUJTTVFTJTTVFDPNNFOU