React
ä»ã¾ã§styled-componentsã¨material-uiããããå ¥ãã¦ä½¿ã£ã¦ãã®ã§ãããmaterial-uiã«styled-componentã£ã½ãAPIãçãã¦ãã®ã«æ°ã¥ããã®ã§ä½¿ã£ã¦ã¿ãã¡ã¢ï¼ãã£ããã¢ããã§ãã¦ãªãã ãã§ãããããï¼ã@material-ui/coreã®ãã¼ã¸ã§ã³ã¯4.1.0ã§ãã ãªãâ¦
å人éçºã§Firebase使ã£ã¦ãªããä½ããããªã¨ãããã¨ã§ãç´ æ¯ãã§ä½ã£ããã®ãå ¬éãã¦ã¿ã¾ãããReduxã®ãã¥ã¼ããªã¢ã«ã§ä½ãTodoã¢ããªãStoreãFirebaseã«ããä½ã§ä½ãå¤ãããã¤ã«ãªãã¾ããFirebaseã¯å¤ã®æä»£ã«è§¦ã£ãã¨ãã¯åãªãPub/Subã§ããDBã ã£â¦
React/TypeScriptãªã¢ããªã§ TSLint + Prettier ã§lint/formatãããã¦ããã¨ããã ESLint-TypeScript + Prettierã«ç§»è¡ããã¨ãã®ã¡ã¢ãæ¥ãã§ããå¿ è¦ã¯ãªãã®ã§ãããä»äºã®æ¹ã§ä½¿ãããã£ãã®ã§å人ããã¸ã§ã¯ãã§è©¦ãã¾ããã github.com github.com â¦
æ¦è¦ Gatsbyã§æ¸ããã¢ããªã«Storybookå°å ¥ãã¦Snapshotã®ãã¹ãã¯Storyshots使ãããã«ãããã¨æã£ãã®ã§ãããæ®éã«ããã¥ã¡ã³ãã®ã¨ããã«å°å ¥ãããgraphqlãå¼ãã§ããcomponentã§ä»¥ä¸ã®ãããªãã°ãåºã¦ã³ã±ã¾ãããGatsbyã®ã³ã³ããã¹ãã§èµ·åãã¦â¦
ããæè¿ãã£ã¦ã使¥ãããã®ããã¨ããã¾ã§çµãã£ãã®ã§ãã°ä»£ããã®ããã°ã§ãããã¨ãã¨ãã¥ã¢ãªSPAã¨ãã¦ä½ã£ã¦ãããã®ãGatsbyã«ä¹ãã¦éçåãã¾ãããã³ã¢ã®ã²ã¼ã é¨åã¯ä»¥åã¨å¤ãããSPAã¨ãã¦åãã¾ãããGoogleã«ã¤ã³ããã¯ã¹ãããé¨åã¯å®ä½â¦
å人ã§å ¬éãã¦ããSPAãç´ æ´ãªReactã§ä½ããã¦ãã¦SSRãä½ããã¦ããããããã¡ãã£ã¨Googleå çã®Botã«åªããä½ã£ã¦ããããã¨ãããã¨ã§ãåæ®µéã®æºåã¨ãã¦ãããã試ãã¦ã¿ãã¡ã¢ã§ãã対象ã®ãµã¤ãã¯ãããªã«å¤§ãããªãã®ã§ãSSRãé å¼µãã®ã§ã¯ãªãã¦â¦
å¤ãªã¹ãã¦ã³ãã³ãä½ã£ã¦ããã®ãã¾ãã¾ãå½¢ã«ãªã£ãã®ã§å ¬éãã¾ãããã¡ã¯ããµã ~çµã³~ã®å ¬éã«ã¯éã«åããªãã£ãããã https://hyakuninanki.net/ å»å¹´ããä»äºã§Båãã®ãµã¼ãã¹ãSPAã§éçºãã¦ã¦ãããç¨åº¦èªåã®ä¸ã§ç¥è¦ããã¾ã£ã¦èªåã§ãä½ãä½â¦
ä»ã®ä»äºã¯React/ReduxãªSPAãTypeScriptã§æ¸ãã¦ã¦ãHOCã®ãã¹ãã®æ¸ãæ¹ã¡ãã£ã¨è¿·ã£ãã®ã§ã¡ã¢ã¨ãã¦æ®ãã¦ããã¾ãã é¢é£ãã主ãªã©ã¤ãã©ãª "react": "~16.0.0", "react-dom": "~16.0.0" "react-redux": "~5.0.6" "react-router-dom": "~4.2.2" "reduxâ¦
rei19.hatenablog.com âã®ç¶ããä»äºã§React/ReduxãªSPAãæ¸ãå§ãã¦ããã®ã§ãããå¼ãç¶ãã ã³ã¼ããèªãã ãæ¸ãç´ããããã¦æã£ããã¨ãªã©ã TL;DR Componentã®ä»äºã¯ããã£ã¦ããpropsãç´ ç´ã«è¡¨ç¤ºããã®ã¨Eventã®çºç«ã ãã«ããããªã FatãªComponentâ¦
5æããç¥ãåããç«ã¡ä¸ããä¼ç¤¾ãæä¼ã£ã¦ãã¦Båãã®Webãµã¼ãã¹ãspaã§ä½ã£ã¦ãã®ã§ããããã2å¹´ãããã¯ã»ã¼Androidã®ä»äºãããã¦ããªãã¦ã2å¹´ããã¦ã°æã®ç¥èã¯é³è åãã¦ããï¼ã¨ãããå¿ãããã¦ããï¼ã®ã§æ¹ãã¦ãã¥ã¼ããªã¢ã«ãã£ããæ¬èªãã â¦