Reactã®åŒ·åãªæè¡ãã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ãæ¢æ±ãåªå 床ããŒã¹ã®ã³ã³ããŒãã³ãèªã¿èŸŒã¿ã§ãååããŒãžããŒããæé©åãããŠãŒã¶ãŒäœéšãåäžãããŸãã
React ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ïŒåªå 床ããŒã¹ã®ã³ã³ããŒãã³ãèªã¿èŸŒã¿ã«ããããã©ãŒãã³ã¹åäž
仿¥ã®éãããŒã¹ã®ããžã¿ã«äžçã§ã¯ããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãæãéèŠã§ãããŠãŒã¶ãŒã¯å³æã®æºè¶³ãæåŸ ããèªã¿èŸŒã¿æéãé ããšãã©ã¹ãã¬ãŒã·ã§ã³ãé¢è±ã«ã€ãªããå¯èœæ§ããããŸãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããããã®äººæ°ã®JavaScriptã©ã€ãã©ãªã§ããReactã¯ãããã©ãŒãã³ã¹ãæé©åããããã®æ§ã ãªæè¡ãæäŸããŠããŸãããã®äžã§ãç¹ã«æ³šç®ãéããŠããã®ãã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã§ãã
React ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ãšã¯ïŒ
ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã¯ãååããŒãžèªã¿èŸŒã¿æã«Reactã¢ããªã±ãŒã·ã§ã³ã®éèŠãªéšåã®ã¿ãéžæçã«ãã€ãã¬ãŒãïŒã€ã³ã¿ã©ã¯ãã£ãã«ããïŒããããã©ãŒãã³ã¹æé©åæè¡ã§ããã¢ããªã±ãŒã·ã§ã³å šäœãäžåºŠã«ãã€ãã¬ãŒãããã®ã¯æéããããããšããããŸãããã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒã«ããã«è¡šç€ºãããããŸãã¯æäœå¯èœãªã³ã³ããŒãã³ããåªå ããŸããéèŠåºŠã®äœãä»ã®ã³ã³ããŒãã³ãã¯ãåŸã§ããªã³ããã³ãïŒè¡šç€ºããããšãïŒãŸãã¯ååãã€ãã¬ãŒã·ã§ã³ãå®äºããåŸã«ãã€ãã¬ãŒããããŸãã
ãã®ããã«èããŠã¿ãŠãã ããããã¬ããäœå® ãåŒãæž¡ãå Žé¢ãæ³åããŠãã ãããæ°ããææè ãå ¥å± ããåã«ãã¹ãŠã®éšå±ã«å®¶å ·ã眮ãã®ã§ã¯ãªãããªãã³ã°ã«ãŒã ããããã³ãå¯å®€ãšãã£ãå¿ èŠäžå¯æ¬ ãªéšå±ãåªå ããŸããããŒã ãªãã£ã¹ãã²ã¹ãã«ãŒã ã®ãããªä»ã®éšå±ã¯ãæåã®äœéšã«åœ±é¿ãäžããããšãªãåŸããå®¶å ·ãé 眮ã§ããŸããã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã¯ããããšåãååãReactã³ã³ããŒãã³ãã«é©çšããŸãã
åé¡ç¹ïŒå®å šãªãã€ãã¬ãŒã·ã§ã³ãšãã®éç
åŸæ¥ã®Reactãã€ãã¬ãŒã·ã§ã³ã¯ããµãŒããŒäžã§ã¢ããªã±ãŒã·ã§ã³ãã¬ã³ããªã³ã°ãïŒãµãŒããŒãµã€ãã¬ã³ããªã³ã° - SSRïŒãããéãFirst Contentful Paint (FCP)ãæäŸããSEOãåäžãããŸãããµãŒããŒã¯ãã©ãŠã¶ã«HTMLãéä¿¡ãããã©ãŠã¶ã¯JavaScriptãã³ãã«ãããŠã³ããŒãããŸããJavaScriptãèªã¿èŸŒãŸãããšãReactã¯éçãªHTMLãããã€ãã¬ãŒããããã€ãã³ããªã¹ããŒãã¢ã¿ããããŠã³ã³ããŒãã³ããã€ã³ã¿ã©ã¯ãã£ãã«ããŸãã
ããããå®å šãªãã€ãã¬ãŒã·ã§ã³ã¯ããã«ããã¯ã«ãªãå¯èœæ§ããããŸããæåã®HTMLãçŽ æ©ã衚瀺ããããšããŠãããŠãŒã¶ãŒã¯ãã€ãã¬ãŒã·ã§ã³ããã»ã¹å šäœãå®äºãããŸã§ã¢ããªã±ãŒã·ã§ã³ãæäœã§ããŸãããããã¯ãç¹ã«å€§èŠæš¡ã§è€éãªã¢ããªã±ãŒã·ã§ã³ã«ãããŠãäœæçãªé ããæªããŠãŒã¶ãŒäœéšã«ã€ãªããå¯èœæ§ããããŸãã
å®å šãªãã€ãã¬ãŒã·ã§ã³ã®éçç¹ïŒ
- ã€ã³ã¿ã©ã¯ãã£ãã«ãªããŸã§ã®æéïŒTTIïŒã®é·æåïŒ å®å šãªãã€ãã¬ãŒã·ã§ã³ã¯ãã¢ããªã±ãŒã·ã§ã³ãå®å šã«ã€ã³ã¿ã©ã¯ãã£ãã«ãªããŸã§ã®æéãé ãããŸãã
- CPUè² è·ã®é«ãïŒ éèŠã§ãªãã³ã³ããŒãã³ãããã€ãã¬ãŒãããããšã¯ã貎éãªCPUãªãœãŒã¹ãæ¶è²»ããå šäœã®ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããŸãã
- ãã³ãã«ãµã€ãºã®å¢å€§ïŒ 倧ããªJavaScriptãã³ãã«ã¯ããŠã³ããŒããšè§£æã«æéãããããåé¡ãããã«æªåãããŸãã
解決çïŒã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ãšåªå èªã¿èŸŒã¿
ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã¯ãéçºè ãã©ã®ã³ã³ããŒãã³ããæåã«ãã€ãã¬ãŒãããããå¶åŸ¡ã§ããããã«ããããšã§ãå®å šãªãã€ãã¬ãŒã·ã§ã³ã®éçã«å¯ŸåŠããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ã®æãéèŠãªéšåãåªå ããããšãå¯èœã«ãªããããéãã€ã³ã¿ã©ã¯ãã£ãã«ãªããŸã§ã®æéïŒTTIïŒãšãããã¹ã ãŒãºãªãŠãŒã¶ãŒäœéšãä¿èšŒãããŸããéèŠåºŠã®äœãã³ã³ããŒãã³ãã®ãã€ãã¬ãŒã·ã§ã³ãé å»¶ãããããšã§ããã©ãŠã¶ã¯åæãã¥ãŒãè¿ éãã€å¹ççã«ã¬ã³ããªã³ã°ããããšã«éäžã§ããŸãã
ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã®å©ç¹ïŒ
- ã€ã³ã¿ã©ã¯ãã£ãã«ãªããŸã§ã®æéïŒTTIïŒã®æ¹åïŒ éèŠãªã³ã³ããŒãã³ããåªå ããããšã§ãã¢ããªã±ãŒã·ã§ã³ãã¯ããã«éãã€ã³ã¿ã©ã¯ãã£ãã«ãªããŸãã
- CPU䜿çšçã®åæžïŒ ãã€ãã¬ãŒã·ã§ã³ãé å»¶ãããããšã§ãã¯ã©ã€ã¢ã³ãåŽã®CPUè² è·ã軜æžãããä»ã®ã¿ã¹ã¯ã®ããã«ãªãœãŒã¹ãè§£æŸãããŸãã
- First Contentful Paint (FCP)ã®é«éåïŒ SSRã¯ãã§ã«FCPãæ¹åããŸãããã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã¯åæãã¥ãŒãããæ©ãã€ã³ã¿ã©ã¯ãã£ãã«ããããšã§ãäœæããã©ãŒãã³ã¹ãããã«åäžãããŸãã
- ãŠãŒã¶ãŒäœéšã®åäžïŒ ããéããããå¿çæ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ã¯ãå šäœçã«ããè¯ããŠãŒã¶ãŒäœéšã«ã€ãªãããŸãã
- SEOã®åäžïŒ ããã©ãŒãã³ã¹ã®åäžã¯ãæ€çŽ¢ãšã³ãžã³ã®ã©ã³ãã³ã°ã«è¯ã圱é¿ãäžããå¯èœæ§ããããŸãã
React ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã®å®è£ ïŒæè¡ãšäŸ
Reactã®ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ãå®è£ ããããã«äœ¿çšã§ããæè¡ã¯ããã€ããããŸããæãäžè¬çãªã¢ãããŒãã®ããã€ããæ¢ã£ãŠã¿ãŸãããïŒ
1. React.lazyãšSuspense
React.lazyã䜿çšãããšãã³ã³ããŒãã³ããåçã«ã€ã³ããŒãããã³ãŒããããå°ããªãã£ã³ã¯ã«åå²ã§ããŸããSuspenseãšçµã¿åãããããšã§ãé å»¶èªã¿èŸŒã¿ãããã³ã³ããŒãã³ãããã§ãããããã€ãã¬ãŒããããéããã©ãŒã«ããã¯UIïŒäŸïŒèªã¿èŸŒã¿ã¹ãããŒïŒã衚瀺ã§ããŸãã
äŸïŒ
import React, { Suspense, lazy } from 'react';
const MyComponent = lazy(() => import('./MyComponent'));
function App() {
return (
Loading... ãã®äŸã§ã¯ã`MyComponent`ãé å»¶èªã¿èŸŒã¿ãããŸãã`Suspense`ã³ã³ããŒãã³ãã¯ã`MyComponent`ããã§ãããããã€ãã¬ãŒããããéããLoading...ãã衚瀺ããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ã®æ®ãã®éšåã`MyComponent`ãåŸ ããã«ãã€ãã¬ãŒãã§ããããã«ãªããŸãã
å šäœçãªæèïŒ ãã®ã¢ãããŒãã¯ãè€éãªãã©ãŒã ãã€ã³ã¿ã©ã¯ãã£ããªãããããŸãã¯ãã¡ãŒã¹ããã¥ãŒã®å€ã«ããèŠçŽ ãªã©ãåæè¡šç€ºã«äžå¯æ¬ ã§ã¯ãªãã³ã³ããŒãã³ãã«æçã§ãã
2. `useEffect`ã«ããæ¡ä»¶ä»ããã€ãã¬ãŒã·ã§ã³
`useEffect`ããã¯ã䜿çšããŠãç¹å®ã®æ¡ä»¶ã«åºã¥ããŠã³ã³ããŒãã³ããæ¡ä»¶ä»ãã§ãã€ãã¬ãŒãããããšãã§ããŸããããã¯ãç¹å®ã®ã€ãã³ãåŸãäžå®æéåŸã«ã®ã¿ã€ã³ã¿ã©ã¯ãã£ãã«ããå¿ èŠãããã³ã³ããŒãã³ãã«ç¹ã«äŸ¿å©ã§ãã
äŸïŒ
import React, { useState, useEffect } from 'react';
function MyComponent() {
const [isHydrated, setIsHydrated] = useState(false);
useEffect(() => {
setIsHydrated(true);
}, []);
return (
{isHydrated ? (
) : (
Loading...
)}
);
}
ãã®äŸã§ã¯ã`useEffect`ããã¯ãå®è¡ãããåŸã«ã®ã¿ãã¿ã³ãã¬ã³ããªã³ã°ãããã€ã³ã¿ã©ã¯ãã£ãã«ãªããŸããããã«ããããã®ãã€ãã¬ãŒã·ã§ã³ã广çã«é å»¶ãããŸãããã以åã¯ããLoading...ããšè¡šç€ºãããŸãã
å šäœçãªæèïŒ ããã¯ããŠãŒã¶ãŒã®æäœãå¿ èŠãšããã³ã³ããŒãã³ãããããã«ã¯å©çšã§ããªãå€éšããŒã¿ã«äŸåããã³ã³ããŒãã³ãã«åœ¹ç«ã¡ãŸãã
3. ReactãµãŒããŒã³ã³ããŒãã³ã (RSC)
ReactãµãŒããŒã³ã³ããŒãã³ãïŒRSCïŒã¯ãReact 18ã§å°å ¥ãããç»æçãªæ©èœã§ãã³ã³ããŒãã³ããå®å šã«ãµãŒããŒäžã§ã¬ã³ããªã³ã°ããããšãã§ããŸããRSCã¯ã¯ã©ã€ã¢ã³ãåŽã§ãã€ãã¬ãŒããããªããããJavaScriptãã³ãã«ãå€§å¹ ã«å°ãããªããããã©ãŒãã³ã¹ãåäžããŸããäžæ¹ãã¯ã©ã€ã¢ã³ãã³ã³ããŒãã³ãã¯éåžžéããã€ãã¬ãŒããããŸãã
RSCã¯ãã¯ã©ã€ã¢ã³ãã³ã³ããŒãã³ãã®ã¿ããã€ãã¬ãŒãããå¿ èŠããããããæé»çã«ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ãå¯èœã«ããŸãããã®é¢å¿ã®åé¢ã«ãããããã©ãŒãã³ã¹ã®æé©åãšãã©ãŠã¶ã«éä¿¡ãããJavaScriptã®éãåæžããããšã容æã«ãªããŸãã
äŸïŒæŠå¿µçïŒïŒ
// ãµãŒããŒã³ã³ããŒãã³ãïŒãã€ãã¬ãŒã·ã§ã³ãªãïŒ
async function ServerComponent() {
const data = await fetchData(); // ãµãŒããŒã§ããŒã¿ããã§ãã
return {data.name};
}
// ã¯ã©ã€ã¢ã³ãã³ã³ããŒãã³ãïŒãã€ãã¬ãŒã·ã§ã³ãå¿
èŠïŒ
'use client'
import { useState } from 'react';
function ClientComponent() {
const [count, setCount] = useState(0);
return (
);
}
ãã®äŸã§ã¯ã`ServerComponent`ã¯ãµãŒããŒã§ããŒã¿ããã§ããããéçãªã³ã³ãã³ããã¬ã³ããªã³ã°ããŸããã¯ã©ã€ã¢ã³ãåŽã§ã®ãã€ãã¬ãŒã·ã§ã³ã¯å¿ èŠãããŸãããäžæ¹ã`ClientComponent`ã¯ã€ã³ã¿ã©ã¯ãã£ãã§ããããã®ç¶æ ã管çããããã«ãã€ãã¬ãŒã·ã§ã³ãå¿ èŠã§ãã
å šäœçãªæèïŒ RSCã¯ãã³ã³ãã³ããå€ãã»ã¯ã·ã§ã³ãããŒã¿ãã§ãããã¯ã©ã€ã¢ã³ãåŽã®ã€ã³ã¿ã©ã¯ãã£ããã£ãå¿ èŠãšããªãã³ã³ããŒãã³ãã«æé©ã§ããNext.js 13以éã®ãããªãã¬ãŒã ã¯ãŒã¯ã¯ãRSCãå€çšããŠããŸãã
4. ãµãŒãããŒãã£ã©ã€ãã©ãª
ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã®å®è£ ãæ¯æŽãããµãŒãããŒãã£ã©ã€ãã©ãªãããã€ããããŸãããããã®ã©ã€ãã©ãªã¯ãããã»ã¹ãç°¡çŽ åããããã®æœè±¡åããŠãŒãã£ãªãã£ãæäŸããããšãå€ãã§ãã人æ°ã®ãããªãã·ã§ã³ã«ã¯ä»¥äžã®ãããªãã®ããããŸãïŒ
- `react-hydration-on-demand`: ã³ã³ããŒãã³ãããªã³ããã³ãã§ãã€ãã¬ãŒãããããã«ç¹å¥ã«èšèšãããã©ã€ãã©ãªã
- `react-lazy-hydration`: å¯èŠæ§ã«åºã¥ããŠã³ã³ããŒãã³ããé å»¶èªã¿èŸŒã¿ãããã€ãã¬ãŒãããããã®ã©ã€ãã©ãªã
ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ãå®è£ ããããã®ãã¹ããã©ã¯ãã£ã¹
ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã广çã«æŽ»çšããããã«ã¯ã以äžã®ãã¹ããã©ã¯ãã£ã¹ãèæ ®ããŠãã ããïŒ
- éèŠãªã³ã³ããŒãã³ããç¹å®ããïŒ ã¢ããªã±ãŒã·ã§ã³ãæ³šææ·±ãåæããåæã®ãŠãŒã¶ãŒäœéšã«äžå¯æ¬ ãªã³ã³ããŒãã³ããç¹å®ããŸãããããã¯ãã€ãã¬ãŒã·ã§ã³ã®åªå é äœãé«ãããå¿ èŠããããŸããã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ãåæããããã«Chrome DevToolsã®ãããªããŒã«ã䜿çšããããšãæ€èšããŠãã ããã
- éèŠã§ãªãã³ã³ããŒãã³ããé å»¶ãããïŒ ããã«è¡šç€ºãããªãããŸãã¯ã€ã³ã¿ã©ã¯ãã£ãã§ãªãã³ã³ããŒãã³ããç¹å®ãããããã®ãã€ãã¬ãŒã·ã§ã³ãé å»¶ãããŸãã
- ã³ãŒãåå²ã䜿çšããïŒ ã³ãŒãåå²ã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãããå°ããªãã£ã³ã¯ã«åå²ããåæã®JavaScriptãã³ãã«ãµã€ãºãåæžããŸãã
- ããã©ãŒãã³ã¹ã枬å®ã»ç£èŠããïŒ ããã©ãŒãã³ã¹ç£èŠããŒã«ã䜿çšããŠãã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã«äžãã圱é¿ã远跡ããŸããäž»èŠãªææšã«ã¯ãã€ã³ã¿ã©ã¯ãã£ãã«ãªããŸã§ã®æéïŒTTIïŒãFirst Contentful PaintïŒFCPïŒãLargest Contentful PaintïŒLCPïŒãå«ãŸããŸããGoogle PageSpeed InsightsãWebPageTestãLighthouseãªã©ã®ããŒã«ã¯éåžžã«äŸ¡å€ããããŸãã
- 培åºçã«ãã¹ãããïŒ ç°ãªãããã€ã¹ããã©ãŠã¶ã§ã¢ããªã±ãŒã·ã§ã³ããã¹ãããã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ãæåŸ éãã«æ©èœããŠããããšã確èªããŸãããšããžã±ãŒã¹ãæœåšçãªãã€ãã¬ãŒã·ã§ã³ãšã©ãŒã«æ³šæãæã£ãŠãã ããã
- ã¢ã¯ã»ã·ããªãã£ãèæ ®ããïŒ ãã€ãã¬ãŒã·ã§ã³æŠç¥ãã¢ã¯ã»ã·ããªãã£ã«æªåœ±é¿ãäžããªãããã«ããŸããã¢ã¯ã»ã·ãã«ãªãŠãŒã¶ãŒäœéšãç¶æããããã«ãé©åãªãã©ãŒã«ããã¯ã³ã³ãã³ããšARIA屿§ãæäŸããŠãã ããã
- ããã©ãŒãã³ã¹ãšè€éãã®ãã©ã³ã¹ãåãïŒ ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã¯ããã©ãŒãã³ã¹ãå€§å¹ ã«åäžãããããšãã§ããŸãããã³ãŒãããŒã¹ã«è€éããå ããããšã«ããªããŸããå©çãšè¿œå ãããè€éããæ éã«æ¯èŒæ€èšããã¢ããªã±ãŒã·ã§ã³ã®ããŒãºã«åºã¥ããŠé©åãªæè¡ãéžæããŠãã ããã
å®äžçã®äŸãšã±ãŒã¹ã¹ã¿ãã£
ããã€ãã®äŒæ¥ããReactã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãåäžãããããã«ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ãæåè£ã«å®è£ ããŠããŸãã以äžã«ããã€ãã®äŸãæããŸãïŒ
- Eã³ããŒã¹ãµã€ãïŒ Eã³ããŒã¹ãµã€ãã§ã¯ãååãªã¹ããã·ã§ããã³ã°ã«ãŒãã®ã¬ã³ããªã³ã°ãšãã€ãã¬ãŒã·ã§ã³ãåªå ããããã«ãã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ããã䜿çšãããŸããååã®ããããããŠãŒã¶ãŒã¬ãã¥ãŒãªã©ãéèŠåºŠã®äœãã³ã³ããŒãã³ãã¯åŸã§ãã€ãã¬ãŒããããŸããããã«ãããåæããŒãžèªã¿èŸŒã¿ãé«éåãããããã¹ã ãŒãºãªã·ã§ããã³ã°äœéšãå®çŸããŸãã
- ãã¥ãŒã¹ãµã€ãïŒ ãã¥ãŒã¹ãµã€ãã§ã¯ãèŠåºããèšäºã®èŠçŽã®ãã€ãã¬ãŒã·ã§ã³ãåªå ããåã蟌ãŸããåç»ããœãŒã·ã£ã«ã¡ãã£ã¢ãã£ãŒãã®ãã€ãã¬ãŒã·ã§ã³ã¯é å»¶ãããããšãã§ããŸããããã«ããããŠãŒã¶ãŒã¯ããŒãžå šäœãèªã¿èŸŒãŸããã®ãåŸ ããã«ãææ°ã®ãã¥ãŒã¹ã«çŽ æ©ãã¢ã¯ã»ã¹ã§ããŸãã
- ãœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ïŒ ãœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ã§ã¯ããŠãŒã¶ãŒã®ãã£ãŒããéç¥ã®ãã€ãã¬ãŒã·ã§ã³ãåªå ããããã«ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã䜿çšã§ããŸãããããã£ãŒã«ããŒãžãèšå®ã¡ãã¥ãŒãªã©ãéèŠåºŠã®äœãã³ã³ããŒãã³ãã¯åŸã§ãã€ãã¬ãŒãã§ããŸãã
- ããã·ã¥ããŒãã¢ããªã±ãŒã·ã§ã³ïŒ è€éãªããã·ã¥ããŒãã¯å€§ããªæ©æµãåããããšãã§ããŸãããã£ãŒããã°ã©ããããŒã¿ããŒãã«ããªã³ããã³ãã§èªã¿èŸŒãããšã§ãåæèªã¿èŸŒã¿ã®é å»¶ãé²ããŸãããã£ã«ã¿ãªã³ã°ããœãŒãã®ãããªã€ã³ã¿ã©ã¯ãã£ããªèŠçŽ ãåªå ããŸãã
Reactãã€ãã¬ãŒã·ã§ã³ã®å°æ¥ã®ãã¬ã³ã
Reactãã€ãã¬ãŒã·ã§ã³ã®æªæ¥ã¯ã以äžã®åéã«ãããç¶ç¶çãªç ç©¶éçºã«ãã£ãŠåœ¢äœãããŠããã§ãããïŒ
- èªåã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ïŒ ç ç©¶è ãã¡ã¯ãã³ã³ããŒãã³ãã®éèŠåºŠãšå¯èŠæ§ã«åºã¥ããŠãã€ãã¬ãŒã·ã§ã³ã®å¯Ÿè±¡ãèªåçã«ç¹å®ããåªå é äœãä»ããæè¡ã暡玢ããŠããŸããããã«ãããæåã§ã®èšå®ãäžèŠã«ãªããããã»ã¹ãããã«ç°¡çŽ åãããå¯èœæ§ããããŸãã
- ãã现ããç²åºŠã®ãã€ãã¬ãŒã·ã§ã³ïŒ å°æ¥ã®ãã€ãã¬ãŒã·ã§ã³æŠç¥ã§ã¯ããã€ãã¬ãŒã·ã§ã³ããã»ã¹ãããã«çްããå¶åŸ¡ã§ããããã«ãªããéçºè ãåã ã®èŠçŽ ãã³ã³ããŒãã³ãã®äžéšããã€ãã¬ãŒãã§ããããã«ãªããããããŸããã
- ãµãŒããŒã¬ã¹é¢æ°ãšã®çµ±åïŒ ãµãŒããŒã¬ã¹é¢æ°ã䜿çšããŠãã³ã³ããŒãã³ãããªã³ããã³ãã§äºåã«ã¬ã³ããªã³ã°ããã³ãã€ãã¬ãŒãããããšã§ãããã©ãŒãã³ã¹ãããã«æé©åããã¯ã©ã€ã¢ã³ãåŽã®è² è·ã軜æžã§ããŸãã
- é«åºŠãªããŒãªã³ã°ïŒ ãã€ãã¬ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãåæããæé©åã®äœå°ãããé åãç¹å®ããããã«ã¯ãæ¹åãããããŒã«ãäžå¯æ¬ ã«ãªããŸããDevToolsãšã®çµ±åã«ãããéçºè ã¯ãã€ãã¬ãŒã·ã§ã³ããã»ã¹ã«é¢ããè©³çŽ°ãªæŽå¯ãåŸãããããã«ãªããŸãã
çµè«
Reactã®ã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã¯ãReactã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãæé©åããããã®åŒ·åãªæè¡ã§ããéèŠãªã³ã³ããŒãã³ãã®ãã€ãã¬ãŒã·ã§ã³ãåªå ããéèŠåºŠã®äœããã®ã®ãã€ãã¬ãŒã·ã§ã³ãé å»¶ãããããšã§ãã€ã³ã¿ã©ã¯ãã£ãã«ãªããŸã§ã®æéïŒTTIïŒãå€§å¹ ã«æ¹åããCPU䜿çšçãåæžããå šäœçãªãŠãŒã¶ãŒäœéšãåäžãããããšãã§ããŸããReactãé²åãç¶ããã«ã€ããŠãã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã¯ããã©ãŒãã³ã¹æé©åããŒã«ãããã®ãŸããŸãéèŠãªéšåã«ãªãã§ãããã
ãã®ã¬ã€ãã§æŠèª¬ããã»ã¬ã¯ãã£ããã€ãã¬ãŒã·ã§ã³ã®ååãçè§£ãããã¹ããã©ã¯ãã£ã¹ãå®è£ ããããšã§ããŠãŒã¶ãŒãåã°ãããããéããããå¿çæ§ã®é«ããããé åçãªReactã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã
åªå 床ããŒã¹ã®ã³ã³ããŒãã³ãèªã¿èŸŒã¿ã®åãæŽ»çšããReactã¢ããªã±ãŒã·ã§ã³ã®å¯èœæ§ãæå€§éã«åŒãåºããŠãã ãããããã§èª¬æããæè¡ã詊ããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãç£èŠããŠããã€ãã¬ãŒã·ã§ã³æŠç¥ã埮調æŽããŠãã ãããçµæã¯èªããšæããã«ãªãã§ãããã