React.jsã®æ¬ ç¹ãçè§£ãã åºç¤

React.jsã¯ãã¢ãã¤ã«ã¢ããªã¨ã¦ã§ãã¢ããªã®ãã¥ã¼ã¬ã¤ã¤ã¼ãæ å½ããJavaScriptã©ã¤ãã©ãªã§ãã
Reactã«ã¯å¤ãã®å©ç¹ãããã¾ãããèæ ®ãã¹ãããã¤ãã®æ¬ ç¹ãããã¾ãã
React.jsã®ä½¿ç¨ãéå§ããåã«ãReactã®å ¨ä½åãææ¡ããããã«ç°¡åã«è§¦ãã¦ããã¾ãããã
â»ã¡ãªããã«é¢ãã¦ã¯å¥éè¨äºã«è´ãã¾ãã
æ¬æ¥ã¯React.jsã§ã®æ¬ ç¹ãéç¹çã«è§£èª¬ãã¦ããã¾ãã
ããã¥ã¡ã³ãã«é¢ããæ¬ å¦
æè²ã«é¢ããææ¸ã¨ãªã½ã¼ã¹ã¯ãææ°ã®æ´æ°ã¨å¤æ´ãã«ãã¼ããã®ã«ã¾ã°ãã«ãªãå¯è½æ§ããã£ãããã¾ãã
ããã¯ã¢ãããã¼ããæ°ãããªãªã¼ã¹ã®æ°ãå¤ããããå®å ¨ãªããã¥ã¡ã³ãã使ããã®ã«ååãªæéãããã¾ããã
éçºè ã¯ããã¥ã¡ã³ããReact.js/React Nativeã®æ¬ ç¹ã¨è¦ãªãã¦ãã¾ãã
ã¤ã¾ãããã¥ã¡ã³ãã¯Reactãã¯ããã¸ã¼ã®æ´æ°ã¨å éãé常ã«éãããçºãé©åãªããã¥ã¡ã³ãã使ããæéããªãã®ã§ãããããå æããããã«éçºè ã¯ãç¾å¨ã®ããã¸ã§ã¯ãã§æ°ãããªãªã¼ã¹ã¨ãã¼ã«ãé²åãããªãããç¬èªã«ä½æãã¦ãã¾ãã
React.jsã¯ãªã¼ãã³ã½ã¼ã¹ã§ãããããéçºè ã¯ç¬èªã®ãµãã¼ãããã¥ã¡ã³ãã使ã§ãã¾ããã誰ã§ããããã®ãªã½ã¼ã¹ã使ã§ããçºãã»ã¨ãã©å½¹ã«ç«ããªãè²§å¼±ãªãªã½ã¼ã¹ã«åºãããå¯è½æ§ãããã¾ãã
ã§ãã®ã§éçºè ã¯Reactã®ããã¥ã¡ã³ãã好ã¾ããæã£ã¦ããããã¾ãããã¥ã¡ã³ãã§ã¯åå¿è ãçè§£ããã®ãé£ããã§ãã
ãã®ããReact.jsã®ããã¥ã¡ã³ããä¸è¶³ãã¦ãããã¨ãããããã¾ãã
ãã©ãããã©ã¼ã é¢é£
Reactã§ã¯ãã©ãããã©ã¼ã ã«é¢é£ããããã¤ãã®æ¬ ç¹ãããã¾ãã
ããã¯ã©ã¤ãã©ãªã®ãµã¤ãºã¨ãªãã¾ãã
ããã¯é常ã«è¤éã¨ãªã£ã¦ãããéçºè ã®éã§å¤ãã®æ··ä¹±ãå¼ãèµ·ãããã¾ãJSXãã¤ã³ã©ã¤ã³ãã³ãã¬ã¼ããå«ãéçºè ã¯ä¸çä¸ã«ããããããã£ãããã¾ãã
ããã«å ãã¦ãReact.jsã«ã¯å¥ã®å¤§ããªå¶éãããã¾ãã
ããã¯ã¢ããªã¨ãã¥ã¼ã®1ã¤ã®ã¬ã¤ã¤ã¼ã®ã¿ãã«ãã¼ãã¾ãã
ã§ãã®ã§éçºã管çããã«ã¯ãéçºè ã¯æéãæ¶è²»ããä»ã®ããã¤ãã®ãã¯ããã¸ã¼ã«ä¾åãã¦ããå¿ è¦ãããã¾ãã
ããå°ãå ·ä½çã«èª¬æãã¾ãã¨ãReactã¯UIã®ã¿ãæ å½ããã©ã¤ãã©ãªã§ãã
ã¤ã¾ããã¥ã¼é¨åã®ã¿ãå¦çãã¾ãããããªãã¾ãã¨æ©è½çãªã¢ããªã±ã¼ã·ã§ã³ã使ããã«ã¯ãããã¯ã¨ã³ãããã¼ã¿ã¹ãã¬ã¼ã¸ãªã©ã®ä»ã®éè¦ãªé¨åãã«ãã¼ããã©ã¤ãã©ãªã¨ãã¼ã«ãããã«é©ç¨ããå¿ è¦ãããã¾ãã
Reactã®å ´åã§ã¯ãã«æ©è½ã®ãã¬ã¼ã ã¯ã¼ã¯ã§ã¯ãªããããã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ç¡æã©ã¤ãã©ãªãMVC(Model View Controller)ãã¬ã¼ã ã¯ã¼ã¯ã«çµ±åããããã®æ·±ãç¥èãå¿ è¦ã¨ãªãã¾ãã
ãã¥ã¼æåæ§ãReact.jsã«ã¨ã£ã¦ã®çæã®ï¼ã¤ã¨ãªãã¾ãã
å®éã®ã¢ããªã±ã¼ã·ã§ã³ã§ä½æ¥ããå ´åã以ä¸ã®ãã¼ã«ã®ç¥èãReactã®éçºãæ§æãã¾ã
â¢ ç¶æ 管çç¨ã©ã¤ãã©ãª(ä¾ãã°Redux)
⢠Axios / Fetch / Superagentãªã©ãAPIå¼ã³åºããå®è¡ããããã®ã©ã¤ãã©ãª
⢠Webpack / Grunt(ã³ã¼ãããã³ãã«ããããç¨)
Reactãå¦ã¶ã¨ãã«ä¸è¨ã®ãã¼ã«ãèæ ®ããªãã¨ãæéã®ç¡é§ã«ãªãã¾ãã
ãããä¸è¨ã®ãã¹ã¦ãReactã¨çµã¿åãããã¨æ¬æ ¼çãªãã¬ã¼ã ã¯ã¼ã¯ã¨ãã¦å¾ããã¾ãã

éçºãã¼ã¹
React.jsã¯å¸¸ã«é²åããå¤åãç¶ãã¾ãã
æè¿ã§ãReactã¯v18ã«ã¢ããã°ã¬ã¼ãããã¾ããã
éçºã®ãã¼ã¹ãéããã¨ã«ã¯ãé·æã¨çæã©ã¡ããå«ã¾ãã¾ãã
ä¸å©ãªå ´åã¯éçºè ã¯Reactãçµ¶ããæ¹åããã使¥ã容æã«ãªã£ã¦ããã¨ä¸»å¼µãã¾ããããã®æ¥éãªãã¼ã¹ã«ã¤ãã¦ããã®ã¯é常ã«å°é£ã§ãã
ããã¯ç°å¢ãçµ¶ããæ¥éã«å¤åããããã¨ãªãã¾ãã
ããã«ãã£ã¦èµ·ããäºã¯Reactéçºè ã«ã¨ã£ã¦æãä¸è¬çãªæ¸å¿µã¨ãããã®ã¯ãã¢ããªéçºã®é度ãReactã©ã¤ãã©ãªã®é »ç¹ãªå¤æ´ã«ãã£ã¦å¤§ããå½±é¿ãåãããã¨ã§ãã
ãããè¿å¹´Reactã®ã³ã¢APIã¯ããå®å®ãã¦ãã¦ãã¾ããã¾ã éçºã«å対ãã¦ããéçºè ã¯ãæ°ãããã®ã«æ¬å½ã«æºè¶³ãã¦ããªãéçºè ããããã¾ããã
éçºè ã®ã¹ãã«ã¯ã夿´ã¨ã¨ãã«å¸¸ã«æ°ããã¹ãã«ãæ´æ°ãã¦ããæ¹æ³ãå¦ã¶å¿ è¦ãããã¾ãã
è¤éãªJSXæ§æ
Reactã®JSXã¯JavaScriptã®æ¡å¼µæ©è½ã§ãããã³ã¼ããããèªã¿ãããã¯ãªã¼ã³ãªãã®ã«ãããã¨ãã§ãã¾ãã
ãã®æ¡å¼µæ§æã«ãããä¸é¨ã®éçºè ã«ã¯ç°¡åã§ããä»ã®Webéçºè ã»è¨è¨è ã»åå¦è ã¯JSXã³ã¼ããè¤éããã¦çè§£ããã®ãé£ããã¨æãã¦ããæ¹ãå¤ããå¦ç¿æ²ç·ã®è¤éãã«ä¸æºãæã£ã¦ããæ¹ããã¾ãã
ããã¯HTMLã®ãããªããã¹ããJavaScriptã®Reactã³ã¼ãã¨å ±åããããã¨ãã§ãã¾ãããã®è¤éããªä¸æºãReact.jsã®å¶éã¨è¦ãªãã¦ãã¾ãã
ãã¼ã¯ã¢ããè¨èªãã¹ã¯ãªããè¨èªã«åãè¾¼ãã®ãæ¬å½ã«åä»ã§ããã¨ããäºå®ã§ãã
ä¸ç·ã«åå¨ããã ãã§ãªããä¸ç·ã«æ©è½ãã2ã¤ã®å®å ¨ã«ç°ãªãã¿ã¤ãã®æ§æãããã¾ãã
ãããç´ãããããã¦ããã¾ãã
ã§ããJSXã¯ãReactã®ããã©ã¼ãã³ã¹ãã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹æ©è½ã«æªå½±é¿ãåã¼ãäºã¯ããã¾ããã
ãã®JSXæ§æããçè§£ããã°ããã®å ã®å¦ç¿ã¯æ¯è¼çç°¡åã§å¦ç¿ã¯å®¹æãªãã®ã§ãã
å¦ç¿ã«ãããåé¡
æ°ããéçºè ã«ã¨ã£ã¦ãReact.jsã®å¦ç¿ã¯ãReact Nativeã¨æ¯è¼ããã¨ã¯ããã«æéããããå ´åãããã¾ãã
ããã¯ãReact.jsã使ç¨ãã¢ããªãæ§ç¯ãããã¨ãã¦ããæ°ããéçºè ã«ã¨ã£ã¦åé¡ã«ãªãå¯è½æ§ãããã¾ãã
ã§ããä»ã®ãã¬ã¼ã ã¯ã¼ã¯ä¾ãã°ãAngular.jsãReact.jsã¨æ¯è¼ããã¨ãVue.jsãç¿å¾ããã®ã¯ç°¡åã¨ãªãã¾ãã
Vue.jsã¯ç´ç²ãªJavaScriptã使ç¨ãã¾ããããã®ãã³ãã¬ã¼ãã¯HTMLã§è¨è¿°ããã¦ããã¾ãã
ã§ãã®ã§éçºè ã¯Vue.jsã使ç¨ããã¨ãã«ãJavaScript以å¤ã®ä»ã®ããã°ã©ãã³ã°è¨èªãå¦ã¶å¿ è¦ã¯ããã¾ããã
ãããReactã§ã¯UIã®ã¿ã対象ã¨ãã¦ãããããå®å ¨ãªã¢ããªã±ã¼ã·ã§ã³ã使ããã«ã¯ä»ã®è¨èªã使ç¨ããå¿ è¦ãããã¾ãã
JavaScriptã®åºæ¬çãªåºç¤ç¥èã身ã«ä»ããããVue.jsã使ç¨ããã®ã¯è¯ããã¨ã§ãããã¾ãã
Angular.jsã¯React.jsãããã¯ããã«æ·±ããã¨ã¯ééãããã¾ããã
ããã¯ããç¨åº¦ã®çµé¨è±å¯ãªéçºè ã«æãé©ãããã¬ã¼ã ã¯ã¼ã¯ã«ãªãã¾ãã
éçºã¹ãã¼ããCLIã使ç¨ããã¨ãéçºæé å ¨ä½ãæ¯è¼çã¹ã ã¼ãºã«ãªãã¾ããåé¡ãä¿®æ£ããããã®çµã¿è¾¼ã¿ãã¼ã«ãããã¾ãã®ã§éçºè ã«ã¨ã£ã¦é常ã«ä¾¿å©ã§ãã
ã»ã¨ãã©ã®ã³ã³ãã¼ãã³ãã¯äºåã«éçºããã¦ããã®ã§ãã®ããã¤ã³ãã©å ¨ä½ãéå¸¸ã«æ´ç·´ããã¦ããããã¹ã¦ã使ããããçµ±åãããã«ç°¡åã¨ãªã£ã¦ããã¾ãã
便å©ããªãæ£ç´Angular.jsã®ã便å©ã§ãã
Angular.jsã¯ããªã¼ãã³ã½ã¼ã¹ã©ã¤ãã©ãªã§ã¯ãªããã«æ©è½ã®ãã¬ã¼ã ã¯ã¼ã¯ã好ãäººã«æé©ãªãã®ã¨ãªã£ã¦ããã¾ãã
React.jsã¯Angular.jsãããç¿å¾ãç°¡åã§ãããVue.jsã¨æ¯è¼ããã¨ããã«è¤éã¨ãªã£ã¦ããã¾ãã
Reactã§ãVue.jsåæ§ã«JavaScriptã¨HTMLã®åºæ¬çãªç¥èãããã°ç¿å¾ã容æã¨ãªãã¾ãã
ãããReactãæã¤æå¤§ã®å©ç¹ã§ããã人æ°ãåãã¦ããçç±ã§ãããã¾ãã
ãããJSXã¯å®å ¨ãªHTMLã§ã¯ããã¾ãããç°ãªããã®ã§ãHTMLã«ä¼¼ãæ§æã§ããçºãå¥éæ°ãã«å¦ç¿ããå¿ è¦ãããã¾ããåè¿°ããããã«è±å¯ãªããã¥ã¡ã³ããå°ãªãããå¦ç¿ãå°é£ã«ãªãã¾ãã
ä»ã®ãã¬ã¼ã ã¯ã¼ã¯ãã©ã¤ãã©ãªã«æ¯ã¹ãã¨å¦ç¿ç°å¢ã¯æ±ºãã¦è¯ãã¨ã¯è¨ãã¾ããã
Reactãçè§£ããããããæ¹æ³ã¯ãJSXã§Reactã使ç¨ããã¨ãã«ãéçºè ãã³ã¼ããããç´°ããå¶å¾¡ã§ããããã«ãããã¨ãããã¦Reactã叿ã©ããã«æ©è½ãããã«ã¯JavaScriptã¨ãã®ã³ã¢åä½ãããªãæ·±ãçè§£ããäºãéè¦ã¨ãªãã¾ãã
ããã¦React.jsã ããå¦ã¶ã®ã«æéãç¡é§ã«ããªããã«ãã¦ä¸ããã常ã«ä»ã®ãã¹ã¦ã®ã©ã¤ãã©ãªãã«ãã¼ãããã¥ã¼ããªã¢ã«ãå§ãã¦ãã ããã
ã¾ã¨ã
React.jsã«ã¯è³å¦ä¸¡è«ãããã¾ãããReact.jsã«é¢é£ããçæã®å¤ãã¯æ¥éãªå¤åã好ã¾ãªã人ã ã«ãããã®ã ã¨ç§ã¯æã£ã¦ãã¾ãã
ãã®æ¥éãªå¤åã®éçºã¯Reactã®æå¤§ã®å©ç¹ã§ããããã¯ããã¸ã¼ã«ãããæ¬¡ä¸ä»£ã®æªæ¥ã«åãã大ããª1ã¹ãããã§ãã
ä»åãå½ããã°ã§åãä¸ããReact.jsã®ãããæ¬ ç¹ã¯ãéçºè åã³äººéã®å¥½ã¿ã®åé¡ã¨ãªãã¾ãã
ãã¡ãã好ã¿ã®åé¡ã¯ããããåãã§ããReact.jsã»Angular.jsã»Vue.jsã©ããå¦ã¹ã°è¯ãã®ãï¼ç¹å®ã®ããã¸ã§ã¯ãã«æé©ãªã®ã¯ï¼
ãã®è³ªåã«ç確ã«ä¸è¨ã§ããªãã«çãããã¨ã¯ä¸å¯è½ã¨ãªãã¾ãã
ãã¹ã¦ã¯ããã¸ã§ã¯ãã»ç®çã»ããªãã®çµé¨ãããã¦ããªãã®å¥½ã¿ã«ãã£ã¦éãã¾ãã
JSã«ç²¾éãã¦ããæ¹ã§ããã°å¦ç¿å¹çã¯ãã¦ç½®ããé£æåº¦ã¯ç¿å¾ã容æãªã®ã§Reactéçºè ãããããå ãå¢ãã¦ãã£ã¦ã»ããã¨æã£ã¦ããã¾ãã
ã§ããæçµçã«ã¯ããã¸ã§ã¯ããæ³¨ææ·±ããã§ãã¯ãããã¹ã¦ã®è©³ç´°ã¨è¦ä»¶ãåæãã¦ãããããªãã«ã¨ã£ã¦æãæé©ãªä¾¿å©ãªã®ã鏿ããããã«ãã¦ä¸ããã
Reactã鏿ããéã¯ãReactã®é·æã¨çæãçè§£ãããã¨ãéè¦ã§ãã
ãããé·æã¨çæã¯ãWebãã¬ã¼ã ã¯ã¼ã¯ãããããçè§£ããã®ã«å½¹ç«ã¡ã¾ãã
JSã©ã¤ãã©ãªã¯è»½éã§æè»æ§ããããç°¡åã«çµ±åã§ãåæã¬ã³ããªã³ã°ãå«ã¾ãã¦ããã¾ãã
é常ã«åªããããã©ã¼ãã³ã¹ãçºæ®è´ãã¾ãã
å°ããªæ¬ ç¹ã¯ããããæ²¢å±±æ±ãã¦ããã¾ããJavaScriptãã¬ã¼ã ã¯ã¼ã¯/ã©ã¤ãã©ãªã使ç¨ãããã¨ã®å¤§ããªæ¬ ç¹ã¯ããã¾ããã
æ¬æ¥ã¯ä»¥ä¸ã¨ãªãã¾ãã
æå¾ã¾ã§èªãã§é ããããã¨ããããã¾ãã