Reactã®ã³ã³ããŒãã³ãã»ããŒã¹ã»ã¢ãŒããã¯ãã£ïŒã±ãŒã¹ã¹ã¿ãã£
Reactã®ã³ã³ããŒãã³ãã»ããŒã¹ã»ã¢ãŒããã¯ãã£ã®å éšæ§é ãæ·±ãæãäžãããã®ã¡ãªãããšå¹çæ§ãåæããå®è·µããããã®å æ¬çãªã¬ã€ããæäŸããŸãã

Facebookãéçºãã人æ°ã®JavaScriptã©ã€ãã©ãªã Reactãã¯ãã³ã³ããŒãã³ãããŒã¹ã®ã¢ãŒããã¯ãã£ã§ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããããšã«éç¹ã眮ããŠãããããã«ããéçºè ã¯ãå°ããªã¢ãžã¥ãŒã«åãããã³ã³ããŒãã³ããçµã¿åãããããšã§ãè€éãªãŠã§ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšãã§ãããReactã¢ããªã±ãŒã·ã§ã³ã®åã³ã³ããŒãã³ãã¯ãç¬ç«ããåå©çšå¯èœãªUIèŠçŽ ã衚ããç¬èªã®ç¶æ ã®ã¬ã³ããªã³ã°ãšç®¡çãæ åœããã
Reactã®ã³ã³ããŒãã³ãããŒã¹ã®ã¢ãŒããã¯ãã£ã¯ãããåªããã³ãŒãæ§æãšã«ãã»ã«åãæäŸããã¢ããªã±ãŒã·ã§ã³ã®ç®¡çãšä¿å®ã容æã«ããŸããã³ã³ããŒãã³ããããŸãæ§é åãããŠããã°ãã¢ããªã±ãŒã·ã§ã³ã®UIã¯ãéçºããã¹ãããããã°ã容æãªãããå°ããªã¢ãžã¥ãŒã«éšåã«åè§£ã§ããããŠã§ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ãããã®ã¢ãããŒãã¯ãéçºè ã®éã§æ¥éã«äººæ°ãéãã ããã³ããšã³ã éçºã®äžçã倧ããå€ãããã®ãšèããããŠããŸãã
Reactã«ãããã³ã³ããŒãã³ãããŒã¹ã¢ãŒããã¯ãã£ã®äž»ãªå©ç¹
Reactã§ã³ã³ããŒãã³ãããŒã¹ã®ã¢ãŒããã¯ãã£ãå©çšãããšãããã€ãã®éèŠãªå©ç¹ããããŸãïŒ
- ããè¯ãã³ãŒãæ§æãšã¢ãžã¥ãŒã«æ§ïŒReactã®ã³ã³ããŒãã³ãããŒã¹ã¢ãŒããã¯ãã£ã¯ãã¢ããªã±ãŒã·ã§ã³ã®UIãããå°ãããåå©çšå¯èœãªã³ã³ããŒãã³ãã«åå²ããŸãããã®ã¢ãžã¥ãŒã«æ§ã¯ãããè¯ãã³ãŒãæ§æãšãããã¯ãªãŒã³ã§ä¿å®ããããã³ãŒãããŒã¹ã«ã€ãªãããŸãã
- ã³ã³ããŒãã³ãã®åå©çšæ§ïŒã³ã³ããŒãã³ãã¯ãã¢ããªã±ãŒã·ã§ã³ã®ç°ãªãéšåãè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ã§å ±æã§ãããããã³ãŒãã®éè€ãæžãããDRYïŒDon't Repeat YourselfïŒååãªã©ã®ãã¹ããã©ã¯ãã£ã¹ãä¿é²ããŸãã
- ãã¹ããšã¡ã³ããã³ã¹ã®æ¹åïŒã³ã³ããŒãã³ããå°ãããéäžããŠãããããåã ã®æ©èœã«å¯Ÿãããã¹ãã®èšè¿°ãšä¿å®ã容æã«ãªããŸããããã«ã1ã€ã®ã³ã³ããŒãã³ããæŽæ°ããŠããä»ã®ã³ã³ããŒãã³ãã«æãŸãããªãå¯äœçšãäžããããšããªããããã¢ããªã±ãŒã·ã§ã³å šäœã®å®å®æ§ãåäžããŸãã
- æžå¿µäºé ã®åé¢ïŒReactã¢ããªã±ãŒã·ã§ã³ã®åã³ã³ããŒãã³ãã¯ãç¬èªã®ã¬ã³ããªã³ã°ãšç¶æ 管çã«è²¬ä»»ãæã€ãããã«ãããæžå¿µäºé ãæç¢ºã«åé¢ãããéçºè ã¯è€éãªUIã1ã€ãã€åŠçã§ããããã«ãªããŸãã

Reactã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ãšç¶æ 管ç
Reactã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ãçè§£ãããã®ç¶æ ã管çããããšã¯ãå¹ççã§ã¹ã±ãŒã©ãã«ãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããäžã§éåžžã«éèŠã§ããReactã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ã¯ãããŠã³ãïŒDOMãžã®è¿œå ïŒããã¢ã³ããŠã³ãïŒDOMããã®åé€ïŒãŸã§ãã³ã³ããŒãã³ãã®ã©ã€ãã¿ã€ã äžã®ããŸããŸãªæ®µéã衚ããŸããã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ã¡ãœããã¯ãéçºè ãã³ã³ããŒãã³ãã®åäœãå¶åŸ¡ããããã«æŽ»çšã§ãã颿°ã§ãã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«äžã®ç¹å®ã®æç¹ã§åŒã³åºãããŸããéèŠãªã©ã€ããµã€ã¯ã«ã»ã¡ãœããã«ã¯ã次ã®ãããªãã®ããããŸãïŒ
ã³ã³ã¹ãã©ã¯ã¿ïŒã³ã³ããŒãã³ããããŠã³ããããåã«åŒã³åºããããã®ã¡ãœããã¯ãã³ã³ããŒãã³ãã®åæç¶æ ãèšå®ããã€ãã³ããã³ãã©ããã€ã³ãããŸããcomponentDidMountïŒã³ã³ããŒãã³ãã DOM ã«ããŠã³ããããåŸã«åŒã³åºãããŸããéçºè ã¯ãããŒã¿ãååŸãããããµãã¹ã¯ãªãã·ã§ã³ãèšå®ãããããããã«ããã®ã¡ãœããããã䜿çšããŸããcomponentDidUpdate: ã³ã³ããŒãã³ããæŽæ°ãããåŸã«åŒã³åºããããã®ã¡ãœããã¯ãã³ã³ããŒãã³ãã® props ãã¹ããŒãã®å€æŽã«åºã¥ãå¯äœçšã远å ã®ã¬ã³ããªã³ã°ãå¯èœã«ããŸããcomponentWillUnmount: ã³ã³ããŒãã³ããã¢ã³ããŠã³ããããçŽåã«åŒã³åºãããŸãïŒã³ã³ããŒãã³ããã¢ã³ããŠã³ããããŠç Žæ£ãããçŽåã«åŒã³åºãããã¿ã€ããŒããµãã¹ã¯ãªãã·ã§ã³ãªã©ã®ãªãœãŒã¹ãã¯ãªãŒã³ã¢ããããã®ã«çæ³çãªå Žæã§ãã
ã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ã¯Reactã¢ããªã±ãŒã·ã§ã³ã®äžå¿ã§ãããããç¶æ
ã®ç®¡çã¯äžå¯æ¬ ã§ããåã³ã³ããŒãã³ãã¯ç¬èªã®å
éšç¶æ
ãæã€ããšãã§ããJavaScriptãªããžã§ã¯ãã§è¡šããã setState ã¡ãœããã䜿çšããŠæŽæ°ãããŸããReactã¯ãæŽæ°ãããããŒã¿ãåæ ããããã«ç¶æ
ã倿Žããããã³ã«ãã³ã³ããŒãã³ããèªåçã«åã¬ã³ããªã³ã°ããã
Reactã®ç¶æ
æŽæ°ã¯éåæã§ãããããéçºè
ã¯ç¶æ
ã«çŽæ¥ã¢ã¯ã»ã¹ããã®ã§ã¯ãªãã setState ã¡ãœããã®ã³ãŒã«ããã¯ãã以åã®ç¶æ
ãåŒæ°ã«æã€é¢æ°ã«äŸåããå¿
èŠãããããšã«æ³šæããããšãéèŠã§ããã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ãšã¹ããŒããçè§£ãã广çã«ç®¡çããããšã§ãéçºè
ã¯å¹ççã§ã¹ã±ãŒã©ãã«ãªReactã¢ããªã±ãŒã·ã§ã³ãäœæããã¬ã³ããªã³ã°ããã»ã¹ãæé©åã§ããã
ã¹ããŒããªã³ã³ããŒãã³ããšéæããªã³ã³ããŒãã³ã
Reactã®ã³ã³ããŒãã³ãããŒã¹ã®ã¢ãŒããã¯ãã£ã§äœæ¥ããå Žåãã¹ããŒãã³ã³ããŒãã³ããšãã ã³ã³ããŒãã³ããåºå¥ããå¿ èŠãããããã®2ã€ã®ã³ã³ããŒãã³ãã¿ã€ãã¯ãããããç°ãªãæ©èœã«å¯Ÿå¿ããŠããããã®åœ¹å²ãçè§£ããããšã¯ãã¯ãªãŒã³ã§æé©åãããã¢ããªã±ãŒã·ã§ã³æ§é ãç¶æããäžã§éåžžã«éèŠã§ãã
ã¹ããŒãã»ã³ã³ããŒãã³ã
ã¹ããŒãã»ã³ã³ããŒãã³ãã¯ããã°ãã°ã³ã³ããã»ã³ã³ããŒãã³ããšåŒã°ããã¢ããªã±ãŒã·ã§ã³ã®ããžãã¯ãšã¹ããŒãã管çããŸããå€éšãªãœãŒã¹ïŒ APIãªã©ïŒãšçžäºäœçšããããã®äž»èŠãªéä¿¡ãã€ã³ããšããŠæ©èœããã³ã³ããŒãã³ããã¢ããªã±ãŒã·ã§ã³å šäœã®ç¶æ ãèªèããå¿ èŠãããç¶æ³ã§å©çšãããŸããã¹ããŒãã³ã³ããŒãã³ãã¯Reduxã¹ãã¢ãšã®æ¥ç¶ã確ç«ããã¢ã¯ã·ã§ã³ããã£ã¹ãããããããšãã§ããŸããã¹ããŒãã»ã³ã³ããŒãã³ãã®ç¹åŸŽã«ã¯ä»¥äžã®ãããªãã®ããããŸãïŒ
- ã¢ããªã±ãŒã·ã§ã³ã®ç¶æ ãšããŒã¿ååŸããžãã¯ã®ç®¡ç
- Reduxã¹ãã¢ãžã®æ¥ç¶
componentDidMountãcomponentDidUpdateãªã©ã®ã©ã€ããµã€ã¯ã«ã¡ãœããã®å®è£- åã³ã³ããŒãã³ãã«propsãšããŠããŒã¿ã颿°ãæž¡ã
ãã ã³ã³ããŒãã³ã
ãã ã³ã³ããŒãã³ãã¯ãã¬ãŒã³ããŒã·ã§ãã«ã³ã³ããŒãã³ããšãåŒã°ããUIèŠçŽ ã®ã¬ã³ããªã³ã°ãšã芪ã³ã³ããŒãã³ãããpropsãéããŠããŒã¿ãåãåãããšã ãã«éäžããŸããã¢ããªã±ãŒã·ã§ã³ã®ç¶æ ãå€éšAPIãReduxã¹ãã¢ãšçŽæ¥æ¥ç¶ããããšã¯ãªããã¢ããªã®ããŒã¿ãèŠèŠçã«è¡šçŸãã圹å²ãæ ããŸãããã ã³ã³ããŒãã³ãã®ç¹åŸŽã¯ä»¥äžã®éãã§ãïŒ
- ããŒã¿ã颿°ãpropsãšããŠåãåã
- ç¶æ ã管çããã«ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãã¬ã³ããªã³ã°ãã
- éåžžãæ©èœã³ã³ããŒãã³ããšããŠäœæããã
- ã¢ããªã±ãŒã·ã§ã³ãä»ã®ãããžã§ã¯ãå ã§ç°¡åã«åå©çšã§ããã
çæ³çã«ã¯ãReactã¢ããªã±ãŒã·ã§ã³ã¯ã¹ããŒãã»ã³ã³ããŒãã³ããšãã ã»ã³ã³ããŒãã³ããå¥å šã«æ··åšãããã¹ãã§ãããã®ãã©ã³ã¹ã«ãã£ãŠãæžå¿µäºé ã®é©åãªåé¢ãä¿èšŒãããä¿å®æ§ã容æã«ãªããã¢ããªã±ãŒã·ã§ã³å ã§ã®åã³ã³ããŒãã³ãã®åœ¹å²ã®æç¢ºãªçè§£ãä¿é²ãããŸãã
Reactã§ã³ã³ããŒãã³ããå®è£ ããããã®ãã¹ããã©ã¯ãã£ã¹
Reactãããžã§ã¯ãã®å¹çãæå€§åããã«ã¯ãã³ã³ããŒãã³ãã䜿çšããéã«ä»¥äžã®ãã¹ããã©ã¯ãã£ã¹ã®å®è£ ãæ€èšããŠãã ããïŒ
- UIãåå©çšå¯èœãªå°ããªã³ã³ããŒãã³ãã«åå²ããïŒ ã¢ããªã±ãŒã·ã§ã³ã®UIãå°ããªã³ã³ããŒãã³ãã®éå±€ã«åè§£ããããšã§ãåå©çšæ§ãä¿é²ãããå¯èªæ§ãåäžããã¢ããªã±ãŒã·ã§ã³ã®ä¿å®ãšãããã°ã容æã«ãªããŸãã
- propåãæ€èšŒããããã«propTypesã䜿ããŸãïŒ propsãšããŠæž¡ãããããŒã¿ã®åãæ€èšŒããããšã§ãpropTypesã¯éçºäžã«åã®äžäžèŽããã£ããããã³ã³ããŒãã³ããæ£ããããŒã¿åãåãåãããšãä¿èšŒããŸãã
- ã³ã³ããŒãã³ãã®ç¶æ ãå¹ççã«ç®¡çããŸãïŒ ã¹ããŒããã«ãªã³ã³ããŒãã³ãã®äœ¿çšãæå°éã«æããå¯èœãªéãã¹ããŒãã¬ã¹ãªæ©èœã³ã³ããŒãã³ããæŽ»çšããããšã§ãç¶æ 管çãæé©åããããŸããReduxãMobXã®ãããªããŒã«ã䜿çšããŠãããåºãç¯å²ã§ã¢ããªã±ãŒã·ã§ã³ã®ç¶æ ã管çããããšãæ€èšããŸãããã
- äžè²«ããã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ãæ¡çšããïŒ äžè²«æ§ã®ããã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ãæ¡çšããåœåèŠåãå®ããã³ãŒããããæŽçããŠããããšã§ãã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ããã³ã³ããŒãã³ãã®ã¡ã³ããã³ã¹ã容æã«ããŸãã
Reactã§ãµã³ãã«ãããžã§ã¯ããäœæãã
Create React AppããŒã«ã掻çšããŠãReactã®ãµã³ãã«ãããžã§ã¯ããäœæã§ããŸãããã®ããŒã«ã¯ã»ããã¢ããããã»ã¹ãå€§å¹ ã«ç°¡çŽ åããå¿ èŠäžå¯æ¬ ãªäŸåé¢ä¿ãèšå®ãå«ããããã«äœ¿çšã§ãããããžã§ã¯ãæ§é ãæäŸããŸãã以äžã®æé ã«åŸã£ãŠãæ°ããReactãããžã§ã¯ããäœæããŸãïŒ
- ã¿ãŒããã«ã§
node -vãå®è¡ããŠãNode.jsãã³ã³ãã¥ãŒã¿ã«ã€ã³ã¹ããŒã«ãããŠããããšã確èªããŸããã€ã³ã¹ããŒã«ãããŠããªãå Žåã¯ãNode.js ã® Web ãµã€ãã«ã¢ã¯ã»ã¹ããŠããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸãã - ã¿ãŒããã«ã§
npm install -g create-react-appãå®è¡ããŠãCreate React App ãã°ããŒãã«ã«ã€ã³ã¹ããŒã«ããŸãã create-react-app my-sample-projectïŒãmy-sample-projectããä»»æã®ãããžã§ã¯ãåã«çœ®ãæããŠãã ããïŒãå®è¡ããŠãæ°ããReactãããžã§ã¯ããäœæããŸããcd my-sample-projectãå®è¡ããŠããããžã§ã¯ãã®ãã£ã¬ã¯ããªã«ç§»åããŸããnpm startãå®è¡ããŠãReactéçºãµãŒããŒãèµ·åããŸãããã®ã³ãã³ãã§éçºãµãŒããŒãèµ·åããããã©ã«ãã®ãŠã§ããã©ãŠã¶ã§æ°ããReactã¢ããªã±ãŒã·ã§ã³ãéããŸãã
éçºãµãŒããŒãèµ·åãããšããã€ã©ãŒãã¬ãŒãã®Reactã¢ããªã±ãŒã·ã§ã³ããã©ãŠã¶ã§å®è¡ãããŠããã®ãèŠããŸãããã®åºç€ã䜿ã£ãŠã³ã³ããŒãã³ããå®è£
ããReactãããžã§ã¯ããæ§ç¯ããŸãããããžã§ã¯ãæ§é ãããã²ãŒããããšã App.jsïŒã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ã³ã³ããŒãã³ãïŒã index.jsïŒã¢ããªã±ãŒã·ã§ã³ã®ãšã³ããªãã€ã³ãïŒãªã©ããããžã§ã¯ãã«äžå¯æ¬ ãªãã¡ã€ã«ãå«ã src ãã©ã«ããèŠã€ãããŸãã src ãã©ã«ãå
ã«è¿œå ãã¡ã€ã«ãäœæããç®çã®èŠªã³ã³ããŒãã³ãã«ã€ã³ããŒãããããšã§ãç¬èªã®ã³ã³ããŒãã³ããæ§ç¯ãå§ããããšãã§ããŸãã
Reactãšãã®ã³ã³ããŒãã³ãããŒã¹ã®ã¢ãŒããã¯ãã£ã¯ãå¹ççãªéçºäœéšãæäŸã§ããŸãããã¢ããªã±ãŒã·ã§ã³éçºããã»ã¹ãããã«å éããããã«ã AppMaster.ioã® ãããªno-code ãã©ãããã©ãŒã ã®åãæ¢ãããšãæ€èšããŠãã ãããAppMaster.ioã¯ãæè¡çè² åµãæå°éã«æããªããã¢ããªã±ãŒã·ã§ã³éçºãã¹ããŒãã¢ãããããããžã¥ã¢ã«ã§ ã³ãŒãäžèŠã® ã¢ãããŒããæäŸããŸããAppMaster.ioãã¯ãŒã¯ãããŒã«çµ±åããããšã§ããŠã§ããã¢ãã€ã«ãããã¯ãšã³ãã®ã¢ããªã±ãŒã·ã§ã³ããããŸã§ä»¥äžã«è¿ éãã€ã³ã¹ãå¹çããäœæã§ããŸãã
AppMaster.ioã®çµ±åã«ããçç£æ§ã®åäž
Reactã®ã³ã³ããŒãã³ãããŒã¹ã®ã¢ãŒããã¯ãã£ã¯ãå¹ççãªéçºãšåªããã³ãŒãç·šæãå¯èœã«ããŸãããAppMaster.ioã®ãããªåŒ·åãªno-code ãã©ãããã©ãŒã ãçµ±åããããšã§ãçç£æ§ãããã«é«ããããšãã§ããŸããAppMaster.ioã䜿çšãããšãéçºè ã¯ã³ãŒããæžããã«ããã¯ãšã³ãããŠã§ããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãäœæã§ãããããReactãããžã§ã¯ããåçåããæè¡çè² åµãæå°éã«æããããšãã§ããŸãã
AppMaster.ioã¯ã ããŒã¿ã¢ãã«ã® èŠèŠçãªäœæãBP Designerã«ããããžãã¹ããžãã¯ã®äœæã REST APIãš WSSendpoints ããµããŒãããŠããããã«æ©èœã®ã¢ããªã±ãŒã·ã§ã³ãéçºããããã®å æ¬çãªããŒã«ãšãªã£ãŠããŸããWeb ã¢ããªã±ãŒã·ã§ã³ã§ã¯ã ãã©ãã°ïŒããããã® ã€ã³ã¿ãŒãã§ã€ã¹ã«ãããéçºè 㯠UI ã³ã³ããŒãã³ããç°¡åã«èšèšããWeb BP ãã¶ã€ããŒã§åã³ã³ããŒãã³ãã®ããžãã¹ããžãã¯ãäœæãããŠãŒã¶ãŒã®ãã©ãŠã¶ã§çŽæ¥å®è¡ãããå®å šã«ã€ã³ã¿ã©ã¯ãã£ããªã¢ããªã±ãŒã·ã§ã³ãéçºããããšãã§ããŸãã
AppMaster.ioãReactãããžã§ã¯ãã§äœ¿çšãããã1ã€ã®å©ç¹ã¯ãèŠä»¶ã倿Žããããã³ã«ãŒãããã¢ããªã±ãŒã·ã§ã³ãçæããããšã§ãæè¡çè² åµãæé€ã§ããããšã§ããã€ãŸããã¢ããªã±ãŒã·ã§ã³ã¯ãæåã§ä»å ¥ããããšãªãããã«ãŒããªã³ãã®å€æŽããšã«ææ°ã«ãªããŸããã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒããçæããã³ã³ãã€ã«ãããã¹ããå®è¡ããã¯ã©ãŠããŸãã¯ãªã³ãã¬ãã¹ãã¹ãã£ã³ã°çšã®ãã€ããªãã¡ã€ã«ãšããŠãããã€ããŸãã
AppMaster.ioã®äž»ãªæ©èœã«ã¯ãããžãã¹ããžãã¯ãäœæããããã®ããžã¥ã¢ã«BPãã¶ã€ããŒããã«ãŒããªã³ãã®å€æŽã«é¢ãããªã¢ã«ã¿ã€ã ã¢ããããŒããããŒã¿ããŒã¹ã¹ããŒãç§»è¡ã®ãµããŒããèªåçã«çæãããswaggerïŒãªãŒãã³APIïŒããã¥ã¡ã³ããªã©ããããŸããAppMaster.ioã®ãã¯ãŒãReactãããžã§ã¯ãã«æŽ»çšããããšã§ãæéããªãœãŒã¹ããšãã«ã®ãŒãç¯çŽãããŠãŒã¶ãŒã«é«å質ãªã¢ããªã±ãŒã·ã§ã³ãæäŸããããšã«éäžããããšãã§ããŸãã
çµè«
Reactã®ã³ã³ããŒãã³ãããŒã¹ã®ã¢ãŒããã¯ãã£ã¯ãææ°ã®Webã¢ããªã±ãŒã·ã§ã³éçºã«ãããŠç»æçãªãã®ã§ããããšã蚌æãããŸãããReactã¯ãã¢ãžã¥ãŒã«åãããåå©çšå¯èœãªã³ã³ããŒãã³ããéããŠããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãæ§ç¯ããããã®å¹ççã§çµç¹çãªæ¹æ³ãæäŸããŸãããã®èšäºã§åãäžãããã¿ãŒã³ãšååãå æ¬çã«çè§£ããã°ãReactã®ã¢ãŒããã¯ãã£ãå¹ççã«æŽ»çšããŠãæã®è©Šç·Žã«èããã¹ã±ãŒã©ãã«ã§ä¿å®æ§ã®é«ãã髿§èœãªã¢ããªã±ãŒã·ã§ã³ãäœæã§ããã
AppMaster.ioã®ãããªåŒ·åãªno-code ãã©ãããã©ãŒã ãReactãããžã§ã¯ãã«çµ±åããããšã§ãæè¡çè² åµãèç©ããããšãªããéçºãå éããããã»ã¹ãåçåããå€åããèŠä»¶ã«å®¹æã«å¯Ÿå¿ããããšãã§ããŸããReactã®ã³ã³ããŒãã³ãããŒã¹ã®ã¢ãŒããã¯ãã£ãšAppMaster.ioã®ãã¯ãŒãä»ããåãå ¥ããŠãã¢ããªã±ãŒã·ã§ã³ãæ°ããªæåã®é«ã¿ã«å°éããã®ãèŠå®ããŸãããã
ãããã質å
Reactã®ã³ã³ããŒãã³ãã»ããŒã¹ã»ã¢ãŒããã¯ãã£ã¯ãåUIèŠçŽ ãç¬ç«ããåå©çšå¯èœãªã³ã³ããŒãã³ããšããŠæ§ç¯ãããããèªèº«ã®ã¬ã³ããªã³ã°ãšç¶æ 管çã«è²¬ä»»ãæã€ããŠã§ãã»ã¢ããªã±ãŒã·ã§ã³æ§ç¯ã®ã¢ãããŒãã ã
äž»ãªå©ç¹ãšããŠã¯ãã³ãŒãæ§æã®æ¹åãã³ã³ããŒãã³ãã®åå©çšæ§ããã¹ããšã¡ã³ããã³ã¹ã®æ¹åãæžå¿µäºé ã®åé¢ã®æ¹åãªã©ãæããããã
ã¹ããŒãã»ã³ã³ããŒãã³ãã¯ã¢ããªã±ãŒã·ã§ã³ã»ããžãã¯ãšã¹ããŒãã®ç®¡çãæ åœãããã ã»ã³ã³ããŒãã³ãã¯UIãšã¬ã¡ã³ãã®ã¬ã³ããªã³ã°ãšpropsãä»ããããŒã¿ã®åä¿¡ã®ã¿ã«éäžããã
ããã€ãã®ãã¹ããã©ã¯ãã£ã¹ã¯ãUIãããå°ããåå©çšå¯èœãªã³ã³ããŒãã³ãã«åå²ããããšãããããã¿ã€ããæ€èšŒããããã«propTypesãå©çšããããšãã³ã³ããŒãã³ãã®ã¹ããŒãã广çã«ç®¡çããããšãäžè²«ããã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ãæ¡çšããããšã§ãã
AppMaster.io ã¯ãæè¡çè² åµãæå°éã«æããªããè¿ éãªã¢ããªã±ãŒã·ã§ã³éçºãå¯èœã«ãããããReactããã®ä»ã®æè¡ãå«ããããžã§ã¯ãã®çç£æ§åäžã«åœ¹ç«ã€ããŒã³ãŒãã»ãã©ãããã©ãŒã ã§ãã
Reactã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ã¡ãœããã¯ãã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ã®ç¹å®ã®æ®µéã§åŒã³åºããã颿°ã§ãéçºè ã¯ã³ã³ããŒãã³ãã®åäœãå¶åŸ¡ããããŒã¿ã®ååŸãDOMã®æŽæ°ãªã©ã®ãªãœãŒã¹ã管çããããšãã§ããŸãã
Reactã³ã³ããŒãã³ãã®ç¶æ 管çã¯ãã³ã³ããŒãã³ãã®å éšç¶æ ãä¿æããçµã¿èŸŒã¿ã®ç¶æ ãªããžã§ã¯ãã«ãã£ãŠåŠçããããç¶æ ã®æŽæ°ã¯setStateã¡ãœããã䜿ã£ãŠè¡ããã倿Žãæ€åºããããšåã¬ã³ããªã³ã°ãããªã¬ãŒãããŸãã
ããããã¹ïŒããããã£ã®ç¥ïŒã¯ã芪ã³ã³ããŒãã³ãããåã³ã³ããŒãã³ããžã®ããŒã¿ãã³ãŒã«ããã¯ã®åãæž¡ãã«äœ¿çšãããã³ã³ããŒãã³ãéã§äžæ¹åã®éä¿¡ãããŒã¿ã®æµããå¯èœã«ããŸãã
æ°ããReactãããžã§ã¯ããäœæããã«ã¯ãéçºè ã¯Create React AppããŒã«ã掻çšããããšãã§ããŸãããã®ããŒã«ã¯ã»ããã¢ããããã»ã¹ãç°¡çŽ åããå¿ èŠäžå¯æ¬ ãªäŸåé¢ä¿ãèšå®ãå«ããããã«äœ¿ãããããžã§ã¯ãæ§é ãæäŸããŸãã
Reactã³ã³ããŒãã³ãã¯ãJestïŒãŠããããã¹ãçšïŒãReact Testing LibraryãEnzymeïŒãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãã¬ã³ããªã³ã°ã®ãã¹ãçšïŒãªã©ãããŸããŸãªãã¹ãã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ã䜿ã£ãŠãã¹ãã§ããã


