You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
React.memoãé©ç¨ããã°ãã³ã³ãã¼ãã³ãã®ä¸è¦ãª ReRender ãé²ããã¨ãã§ãã¾ããããããªãããProvider è¨è¨ã»ãã±ããªã¬ã¼ã®è¦ç´ããè¡ããã¨ã§ãReact.memoã使ããã¨ããReRender ã®ææ¢ã¯å¯è½ã§ãã æé©ãª Context Provider è¨è¨ã¨ãããã¨ã§ãReact.memo使ç¨ã«ãããªã¼ãã¼ãããåæ¸ãæå¾ ã§ãã¾ããããã¦ãéå°ãª Provider åå²ãå ´åã«ãã£ã¦ã¯ä¸è¦ãã¨ãããã¨ã解説ãã¦ããã¾ãã 3ã¤ã®ãã¿ã¼ã³ ãµã³ãã«ãªãã¸ããªãç¨æãã¾ãããï¼Next.jsã§ä½ã£ã¦ãã¾ãããç¹ã«æå³ã¯ããã¾ããï¼ã+1ãæ¼ä¸ã§ã«ã¦ã³ãã¢ããããinput textãå ¥åã§ãå ¥åå 容ãæ´æ°ãããç°¡åãªãµã³ãã«ã§ãã ãã¡ãã§ã¯ã以ä¸ï¼ã¤ã®ãã¿ã¼ã³ãç¨æããã¦ãã¾ããReRender ããã¦ããæ§å㯠console.log åºåã®ã»ããReact
Next.js ã¨ããã°ãSSGï¼JAMstackï¼ãæè¿ã¯ç¹ã«è©±é¡ã§ããã1å¹´åã¾ã§ã¯getInitialPropsãç¨ãã¦ãã©ã SSR ããã®ãã¨ããäºã話é¡ã®ä¸å¿ã§ãããNext.js 9.3 以éãSSR ãããéã«ã¯getInitialPropsã§ã¯ãªãgetServerSidePropsã使ç¨ãããã¨ãæ¨å¥¨ããã¨è¨è¼ããã¦ãã¾ããï¼ããã¦ãgetInitialPropsã使ç¨ãããã¨ã§èªåæé©åãç¡å¹ã¨ãªã£ã¦ãã¾ãæ¨ãï¼getStaticPropsãgetServerSidePropsãå©ç¨ãããã¨ã§ãç§ãã¡ã¯ SSGã»SSR ããã¼ã¸åä½ã§åãæ¿ãããã¨ãã§ãã¾ãã ãSSGã»SSRããå ±åããå¯è½æ§ãããå ´åãSSR ã«ã¯getServerSidePropsãå©ç¨ãããã¨ã«ãªãã¾ãããã®å¤åã«ããå½±é¿ç¯å²ã¯å¤å¤§ã§ãç¶æ 管çã¨ãã¼ã¿ãã§ããã«ã¤ãã¦ãåèããå¿ è¦ãã§ã¦ãã¾ã
ã¦ã©ã¼ã¿ã¼ã»ã«æ ªå¼ä¼ç¤¾ã®ç¤¾å åå¼·ä¼ https://water-cell.connpass.com/event/178648/ ã§çºè¡¨ãããã®ã§ãã YouTube Liveã¢ã¼ã«ã¤ãã¯ãã¡ã https://youtu.be/ZLUie-ndKgw
TypeScriptã§Reactãããã¨ãã¯ãå°ããã¢ããªã§ãReduxãæåãã使ã£ã¦ããããããã¨ããã話 åæ¥ã®ä¸¸éãããReduxãåããããã解説ãã¦ã¿ãã¨ããReduxã®åºæ¬çãªç´¹ä»ãè¡ãã¾ãããReduxã¯ã³ã³ãã¯ããªã©ã¤ãã©ãªãªããããèããããä»çµã¿ã§ããJetpack ComposeããFlutterãããReactã¤ã³ã¹ãã¤ã¢ãªGUIãã¬ã¼ã ã¯ã¼ã¯ãå¢ãã¦ããã®ã§ãJavaScriptï¼TypeScriptã§ã¯ãªãï¼ + Reduxããã£ã¦ã¿ãã®ã¯ãã¦ã§ãã«éãããä»å¾ã®ã¦ã¼ã¶ã¼ã¤ã³ã¿ãã§ã¼ã¹é¢é£ã®ã³ã¼ãã触ãããã®ç解ååä¸ã«ã¯è¯ãã¨æãã¾ãã æ¬ã¨ã³ããªã¼ã¯ããããã¯ã·ã§ã³ã³ã¼ãã§ããããReduxå¨ãã«ãreducerãªã©ãå®è£ ããªãã¦ã¯ãããªããªã£ãã¨ãã®æ¬¡ã®ã¹ãããã¨ãã¦ãRedux Toolkitã®ç´¹ä»ããã¾ãã ããã¦ããReduxã¯å°å ¥ã³ã¹ãã大ããã
æè¿ã§ã¯ReactãVueã使ã£ããªããã§ã¤ã³ã¿ã¼ã©ã¯ãã£ããªUIãã©ãã©ã主æµã«ãªã£ã¦ãã¦ãã¾ããã2020年以éããã®æµãã¯å éãç¶ããã§ãããã SPAï¼Single Page Applicationï¼ãPWAï¼Progressive Web Applicationï¼ã®æ®åã«ãã£ã¦ä»ã¾ã§ã¢ãã¤ã«ã§ããã§ããªãã£ããã¨ãwebã§ãã©ãã©ãã§ããããã«ãªã£ã¦ãã¦ãã¾ãã ã¾ããFirebaseã使ããã¨ã§ã¯ã©ã¢ã³ããµã¤ãã ãã®é«éãªãµã¼ãã¹éçºãå¯è½ã«ãªã£ã¦ãã¦ãã¦ãä»å¾ã¾ãã¾ãWebããã³ãã¨ã³ãã®ãã¼ãºã¯å¢ããã®ã¯ç¢ºå®ã§ãã ï¼ãµã¼ãã¼ãµã¤ããå¿ è¦ãªãã¨ãã主張ããããã®ã§ã¯ããã¾ãããï¼ Webããã³ãã¨ã³ããã©ã®ããã«åå¼·ããã®ã åå¿è ã«ç«ã¡ã¯ã ããå£ ããããä½ãä½ã£ã¦ã¿ããã¨æã£ã¦ããªããªãã»ã©ããã¢ããªãããã¾ãããTODOãããç°¡åãªãã®ã ã¨é°å²æ°ãæ´ãã®ã«ã¯ã¡ããã©ã
React Hooksã®æ£å¼ãªãªã¼ã¹ï¼2019å¹´2æï¼ããããããä¸å¹´ãçµã¨ãã¨ãã¦ãã¾ããHooksã®ç»å ´ã«ãã£ã¦Reactã®ã³ã³ãã¼ãã³ãã¯é¢æ°ã³ã³ãã¼ãã³ããä¸æ°ã«ä¸»æµã«ãªããã¯ã©ã¹ã³ã³ãã¼ãã³ããæ°è¦ã«ä½ãããæ©ä¼ã¯æ¿æ¸ãã¾ããã ã¾ããReact 17.xç³»ã§ã¯Concurrent Modeã®å°å ¥ã¨ã¨ãã«ããã«2種é¡ã®æ°ããã¯ã追å ãããè¦è¾¼ã¿ã§ãããããããé¢æ°ã³ã³ãã¼ãã³ãã®è½åãã¯ã©ã¹ã³ã³ãã¼ãã³ããçã«ä¸åãæ代ãæ¥ããã¨ã«ãªãã¾ãã ãã®è¨äºã§ã¯ãããã¯ã®ä¸ç¨®ã§ããuseReducerã«ç¦ç¹ãå½ã¦ã¦ãã©ã®ãããªã¨ãã«useReducerãé©ãã¦ããã®ãã説æãã¾ãã究極çã«ã¯ãuseReducerã«ãã£ã¦éæã§ããããã©ã¼ãã³ã¹æ¹åããããã¨ãã«ã¯ãããã³ã³ãã¼ãã³ãè¨è¨ã«ã¾ã§å½±é¿ãä¸ãããã¨ãææãã¾ãã useStateã®å½±ã«é ãããããªããReduxã¨æ¯è¼ãããã
Reactããã®æµãã§ãçµã¿åããã¦ã®éç¨ä¾ã®å¤ãReduxãåå¼·ãã¦ã¿ã¾ããã Fluxã®æ¦å¿µãReduxã®åºæ¬æ©è½ãReactã¨ã®é£æºã«ã¤ãã¦å ¬å¼ã®ããã¥ã¡ã³ããä¸å¿ã«ã¾ã¨ãã¦ãã¾ãã ããã¼èªä½ãå³å¯ã§ãããªãããå®è£ ä¸ã®å¶ç´ãå°ãªãç¹ãé åçã«æãã¾ãããã ãã¼ã¿ã¢ãã«ãUIããªã¼ã®è¨è¨ããã¡ã¤ã«/ã¯ã©ã¹åå²ããã£ã¬ã¯ããªæ§æãªã©ã«ã¤ãã¦ãæ確ãªè¦ç´ãåå¨ããã(ç¹ã«ã¹ã±ã¼ã«ãè¦è¶ãã¦ã®)éç¨æ¹éã¯ä½¿ãè¾¼ã¿ãªãã模索ãã¦ããå¿ è¦ãããããã§ãã æ¦è¦ Redux = React Communityãéçºãã¦ããJavaScriptãã¬ã¼ã ã¯ã¼ã¯ ãªã¼ãã³ã½ã¼ã¹, MITã©ã¤ã»ã³ã¹ Fluxã®èãæ¹/ã¢ã¼ããã¯ãã£ã«ãã¨ã¥ãã¦ãã åæ¹åã«ãã¼ã¿ãå¦çãããã¼ããããã¨ã§ãããããããããã³ãã¨ã³ãä½ãã¾ããããã¨ããèã ã¦ã¼ã¶ã®æä½ â View â Action â Redu
ng-kyoto Angular Meetup #9 ã§ã®çºè¡¨è³æã§ãã https://ng-kyoto.connpass.com/event/113358/
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 以åãReact Redux ãç¨ãã SPA æ°è¦ãµã¼ãã¹ãéç¨ãã¦å¾ãç¥è¦ã¨å®è£ ä¾ãã¨è¨ããã¼ãã§çºè¡¨ããå 容ã«ãå çä¿®æ£ãã¦è¨äºã«ãã¦ã¿ã¾ããã2å¹´åãããåãçµãã§è¦ã¦ã®çµæãææ³ãã·ã§ã¢ã§ããã°ã¨æãã¾ãã 対象èªè SPA ã®éçºã«èå³ãããæ¹ æè¿ã® WEB ããã³ãã¨ã³ãéçºã«èå³ãããæ¹ ããç¨åº¦ React ã Redux ã触ã£ããã¨ãããæ¹ã触ãããæ¹ ç®ç å ·ä½çãªå®è£ ä¾ããã¨ã«ç¥è¦ãå ±æããWeb éçºã®å½¹ã«ç«ã¦ã¦ã»ãã ããããªå®è£ ãããã£ã¨è¯ãæ¹æ³ãããã°ãæãã¦ã»ãã å 容 ã³ã¼ããã¼ã¹ã§ã®å®è£ ä¾ã®ç´¹ä»
##ã»ãã¨ã«ãã£ã¡ã使ããããã®ã§æ©ã使ã£ã¦ãã ãã ãã¤ã¾ã§Reduxã§ãã¤ãã¤è¨ã£ã¦ããã§ããï¼ Unduxã£ã¦ï¼ Reactã®ç¶æ 管çããããã(ãã±ããªã¬ã¼ã¨ãããããªã)ã®ã©ã¤ãã©ãª å ¬å¼ï¼undux ###ç¹å¾´ ãã 使ãã ããªãgetã¨setããåå¨ããªãåªããä¸ç ãã ããrxjsãå©ç¨ããã°è¤éãªãã¨ãã§ãã (åã¯)åºæ¬çã«Reactã®åComponentã®Stateã§ç¶æ 管çããã¨ããæ¦å¿µã«ãã£ã¦ãã(ã¨æã) ã¨ããããã³ã¼ããè¦ã¦ãã ä»åã¤ããã®ã¯ç°¡åãªãã£ããã¢ããªã®ã¢ãã¯ã ã¨æã£ã¦ãã ãã ãã£ããã¢ããªã®å ¨ã½ã¼ã¹ï¼socket_test ã¾ãunduxã®ã¤ã³ã¹ãã¼ã«ãã
mizchi/redux-workerized ä½ã£ãã yarn add redux-workerize ã§å ¥ãã å ã 㯠react-hooks 㧠redux ã¸ã®ã¢ããã¿ãæ¸ãã¦ããã ãã®ã©ã¤ãã©ãªã ã£ãã⦠TypeScript ãã¬ã³ããªã¼ãªAPIã«ãã ReactRedux.Provider ã®ç°ãªãAPI表ç¾ã ãããé¢ç½ããªã ããã Redux.Store ã worker ã«ç½®ã㦠postMessage ã§æ´æ°ããã mapStateToProps ãæ´æ°å¦çã®æå¶ã®å¦çãCPU使ããããworker ã«ç½®ãã JSONé£ã³äº¤ã£ã¦ãã ãã ãã React ã ãããã¤ã¾ããªããã Vue Plugin ãæä¾ããã çµæããã¸ãã¹ãã¸ãã¯ã Worker ã«åãåºãããä¸ã§ã React 㨠Vue ãåã Store ãå ±æããããã«ãªã£ãã ã©ããªã£ã¦ããã¨ããã¨
ä»ã¾ã§èªåã§ä½ã£ããã®ãåæ°åãä»äºã§5社ãããã® redux ãè¦ã¦ããã®ã§ããã®çµææãã¨ãããæ¸ãã åæã¨ãã¦ãèªåã¯ã¨ã³ã·ã¹ãã ã«ä¹ãã¨ããæå³ã§ä»ã§ã¯ redux è¯å®æ´¾ã ããredux ããèªèº«ãéå°ã«æ±ãã¦ããè¤éãã¯ãã£ã¨å解ãããã¹ãã ãã¨ããç«å ´ã Redux ããã¾ãè¨è¨ããã¦ããã¨ã©ããªãã ä¸è²«ããä¸ã¤ã®è¨è¨è«ã«å¾ãã®ã§ãèãããã¨ããªããªã é£ãããå»ãããã®ã§ã¯ãªããé£ããé¨åãä¸ç®æã«éä¸ãããReact Component ã®æ«ç«¯ã§ã¯ãä½ãèãããã¨ããªããªããç¶æ 管çã¨ããé£ããé¨åãä½ã人ã¨ãæ«ç«¯ã®ã³ã³ãã¼ãã³ãã®ãã¶ã¤ã³ã«æ³¨åãã人ãåããããã 大è¦æ¨¡ã«ãªã£ã¦ãè¨è¨ãç ´ç¶»ãã«ãããã¨ããã¨ã³ã¿ã¼ãã©ã¤ãºåããªç¹æ§ãæã¤ããããã®æè¡åºç¤ã¯(éç)é¢æ°åç±æ¥ã®èããå¤ããåºç¤è¨è¨ãåºç¤ç解ã«ã¯ãã¤ã¹ãã«ãè¦æ±ãããéè¦ã¨é©ç¨å¯¾è±¡ã®ãã¹ããããæãã
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ãã®è¨äºã¯ Reactã§ä»ã©ããªWebã¢ããªãä½ãããï¼ããããã°ãµã¼ãã¼ã¬ã¹ã«ãããï¼ ãã¥ã¼ããªã¢ã«ã¯è§¦ã£ã¦ã¿ããã©ããã®å¾ã¯ã©ããããè¯ãã®ãå³ãå·¦ãåãããªã ã¨ãã人åãã«ãããããªæãã§å®è£ ãããå ¬éã§ããã¢ããªã¨ãã¦ã®ä½è£ã¯æ´ãããã§ãããã¨ãããªã¬ãªã¬HowToãã¾ã¨ãããã®ã§ãã ã¼ã¼è¿½è¨ï¼2019/4ï¼ã¼ã¼ ãã®è¨äºã¯2018/9ã«ä½ã£ããã®ãªã®ã§ããã¼ã¸ã§ã³å¨ããªã©çµæ§å¤ããªã£ã¡ãã£ã¦ã¾ããMaterialUIãªã©ã¯ä»ã¯V3ãåºã¦ãã¦ããã¥ã¡ã³ããè¦ãæãªã©ã注æããã ããã°ã¨æãã¾ããåèç¨åº¦ã«ãæ´»ç¨ä¸ããã ã¾
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? è¿ã ã¡ãã£ã¨ããã¦ã§ãã¢ããªãä½ãå¿ è¦ãããããã®ããã®äºå調æ»ãå ¼ãã¦ãã¦ããã¼ãµã«ãª JavaScript ã¢ããªã±ã¼ã·ã§ã³ãä½ãããã®ãã¬ã¼ã ã¯ã¼ã¯ã§ãã Next.js 5.0 㨠TypeScriptã»Redux ã®çµã¿åããã試ãã¦ã¿ãã®ã§ããã®éç¨ã§èª¿ã¹ããã¨ãèãããã¨ã»å¦ãã ãã¨ãã¤ãã¤ãã¨æ¸ã綴ã£ã¦ã¿ã¾ããä¼¼ããããªãã¨ããããã¨ãã¦ããæ¹ã®åèã«ãªãã°å¹¸ãã§ããã¾ãã詳ããæ¹ã«ã¯ã¢ããã¤ã¹é ããã¨å¬ããã§ãã åææ¡ä»¶ ä»åãã¨ãã¨ããããã£ãè¦ä»¶ã¨ãã¦ã¯ä»¥ä¸ã«ãªãã¾ãã SSR ã«å¯¾å¿ããï¼React ã使ãã«ã
ã¯ããã« Ovto(ãªãã)ã¨ããRubyã§æ¸ããã·ã³ãã«ãªã¯ã©ã¤ã¢ã³ããµã¤ãWebãã¬ã¼ã ã¯ã¼ã¯ãä½ãã¾ãããRubyããJavaScriptã¸ã®å¤æã«ã¯Opalã使ã£ã¦ãã¾ãã (2019/02/08追è¨ï¼Rubyist Magazineã«ç´¹ä»è¨äºãå¯ç¨¿ãã¾ãããæ¬è¨äºããå°ã詳ããã§ãã) (2018/11/02追è¨ï¼0.2.0ããªãªã¼ã¹ãã¾ãã) (2018/11/30追è¨ï¼ããã使ã£ã¦Visionã¨ããTODOã¢ããªãä½ãã¾ããã3ã¶æã»ã©å®ç¨ãã¦ãã¾ããã¨ã¦ãããæãã§ããã¯ã©ã¤ã¢ã³ãå´ã®ã³ã¼ãã¯ãã®ã¸ãã§ã) ç¹å¾´ Rubyã§æ¸ãã Redux風ã®API (Virtual DOMï¼ã·ã³ã°ã«ã¹ãã¼ã) hyperappã®å½±é¿ãå¼·ãåãã¦ãã¾ãã å®è£ ãçã(lib/以ä¸ã®åè¨ã721è¡) ä¾ ä¾ã¨ãã¦è¯æ°ã¨ææ°ãå¤æãããã¤ãããã¾ãã require 'ovto' class
å··ã®ããã³ãã¨ã³ãã§ã¯React+Reduxã®æè¡ã¹ã¿ãã¯ãã©ã¡ãã¯ã½æµè¡ã£ã¦ã¾ããï¼ ã¨ã¯ãããReduxã ã¨ãã¯ãã©ããã¦ãã²ã¨ã¤ã¢ããªãä½ãéã®ãã¤ã©ãã¬ã¼ãã³ã¼ãã®å¤ãããã¹ãã¼ãã®æ´æ°ã«ãã£ã¦ããªã¬ãããå¯ä½ç¨å¦çã®ãã³ããªã³ã°ãredux-sagaãredux-side-effectsãªãã§ã¯ãã¾ããããªãã±ã¼ã¹ãå¤ãã§ãã ãããReduxã¨ãã®å¨è¾ºã©ã¤ãã©ãªã®ãããã¤ãã«ã¡ãã£ã¨ã§ããã©ããæãå§ããããUnduxã試ããã£ã³ã¹ã§ãã Unduxã¨ã¯ï¼ Dead simple state management for React Reactã®ããã®æ»ã¬ã»ã©ã·ã³ãã«ãªã¹ãã¼ã管çã©ã¤ãã©ãªã§ãã ç¹å¾´ TypeScriptãFlowãªã©ã§ã®åä»ããæèããè¨è¨ã Reduxã«ãããAction, Reducer, Dispatcher, Containerãªã©ã®æ¦å¿µãå¿ è¦ã¨ã
ãªãreducerã®ãã¹ããéè¦ãï¼ flowç°å¢ã§åã«ãã£ã¦è¿ãStateãæ ä¿ããã¦ããã¨ãã¦ããä¾ç¶ã¨ãã¦reducerã®ãã¹ãã¯éè¦ã§ãã ç°¡åãªä¾ããããã¨ãINCREMENTã§countã+1ããããã¸ãã¯ãããã¨ããnumberåã§ããã¨ä¿è¨¼ããã¦ããã¨ãã¦ãã+1ããã¦ããã®ã-1ããã¦ããã®ããã¯ãã¾ã+100000ããã¦ããã®ãã«ã¤ãã¦ã¯ä¿è¨¼ããã¦ããªãããã§ãã ãã®ãã¸ãã¯ãæ ä¿ããã®ããã¹ãã®å½¹å²ã§ãã reducerã®ãã¹ãã®æ¸ãæ¹ flowç°å¢ã¨ãã以å¤ã§ãã¹ãã®æ¸ãæ¹ãéãã¾ãã ãã©ãã£ã·ã§ãã«ãªãã¹ãã ã¨{type: ACTION}ã®å½¢å¼ã§ãã¹ããæ¸ããã¨ãå¤ãã¨æãã¾ãããflowç°å¢ã ã¨Actionãåã§æ ä¿ããã¦ããããã¢ã¯ã·ã§ã³ã¯ãªã¨ã¤ã¿ã¼ããã®ã¾ã¾å®è¡ãã¦æ¸ãã¾ãã ãã©ãã£ã·ã§ãã«ãªæ¸ãæ¹ã§ãããã§ããããã®æ¹ãè£å®ãå¹ãã®ã§ãªã¹ã¹ã¡ãã¾ãã
React/Reduxã®ãããããªtips React/Reduxã使ã£ã¦ãã¦å®è£ æ¹æ³ã«ã¤ãã¦è¦æ¦ãã¦èª¿æ»ãã¦è§£æ±ºãããã¨ãtipã¨ãã¦ã¾ã¨ãã¦ããã ã¹ãã¬ããæ¼ç®åï¼...ï¼ãå©ç¨ããã¨ã¨ã©ã¼ ã¹ãã¬ããæ¼ç®åã使ãã¨Module build failed: SyntaxError: Unexpected tokenã¨ãã£ãã¨ã©ã¼ãçºçããã®ã§ã調æ»ãããã¨ãããbabel-preset-stage-2ãå¿ è¦ã§ãããã¨ãå¤æã ãã®ãããbabel-preset-stage-2ããã¼ã«ã«ã¤ã³ã¹ãã¼ã«ããã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}