Reactã®å®éšçAPIãexperimental_Activityãã®è©³çްã¬ã€ããã³ã³ããŒãã³ãã¢ã¯ãã£ããã£ã®è¿œè·¡ãå©ç¹ããŠãŒã¹ã±ãŒã¹ãå®è£ ããã¹ããã©ã¯ãã£ã¹ãæ¢ããŸãã
React experimental_Activity: ã³ã³ããŒãã³ãã¢ã¯ãã£ããã£è¿œè·¡ã極ãã
Reactã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããããã®åŒ·åãªJavaScriptã©ã€ãã©ãªã§ããã¢ããªã±ãŒã·ã§ã³ãè€éã«ãªãã«ã€ããŠãã³ã³ããŒãã³ãã®åäœãšããã©ãŒãã³ã¹ãçè§£ããããšãéåžžã«éèŠã«ãªããŸããReactã®experimental_Activity APIã¯ãã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£ã远跡ããããã®åŒ·åãªã¡ã«ããºã ãæäŸããã¬ã³ããªã³ã°ããã»ã¹ãæœåšçãªããã©ãŒãã³ã¹ã®ããã«ããã¯ã«é¢ããæŽå¯ãäžããŠãããŸãããã®å
æ¬çãªã¬ã€ãã§ã¯ãexperimental_Activity APIãæ·±ãæãäžãããã®å©ç¹ããŠãŒã¹ã±ãŒã¹ãå®è£
ããããŠäžçäžã®éçºè
ã®ããã®ãã¹ããã©ã¯ãã£ã¹ãæ¢ããŸãã
React experimental_Activityãšã¯ïŒ
experimental_Activity APIã¯ãã¬ã³ããªã³ã°äžã«ã³ã³ããŒãã³ãã«ãã£ãŠå®è¡ãããã¢ã¯ãã£ããã£ã«é¢ãã詳现æ
å ±ãæäŸããããã«èšèšãããReactã®å®éšçãªæ©èœã§ããããã«ãããéçºè
ã¯ã³ã³ããŒãã³ãããã€ããŠã³ããæŽæ°ãã¢ã³ããŠã³ãããããããããŠãããã®æäœã®æéã远跡ã§ããŸãããã®æ
å ±ã¯ãããã©ãŒãã³ã¹ã®åé¡ãç¹å®ããè€éãªã€ã³ã¿ã©ã¯ã·ã§ã³ããããã°ããReactã¢ããªã±ãŒã·ã§ã³ãæé©åããäžã§éåžžã«è²Žéã§ãã
éèŠãªæ³šæïŒãã®åã®éããexperimental_Activityã¯å®éšçãªAPIã§ããå°æ¥ã®Reactã®ãªãªãŒã¹ã§å€æŽãŸãã¯åé€ãããå¯èœæ§ããããŸããæ¬çªç°å¢ã§ã®äœ¿çšã«ã¯æ³šæããå¿
èŠã«å¿ããŠã³ãŒããé©å¿ãããæºåãããŠãã ããã
ãªãã³ã³ããŒãã³ãã¢ã¯ãã£ããã£è¿œè·¡ã䜿çšããã®ãïŒ
ã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£ã远跡ããããšã«ã¯ãããã€ãã®éèŠãªå©ç¹ããããŸãïŒ
- ããã©ãŒãã³ã¹ã®æé©åïŒæ§ã ãªã©ã€ããµã€ã¯ã«ã¡ãœããã«è²»ããããæéãåæããããšã§ãã¬ã³ããªã³ã°ãé ãã³ã³ããŒãã³ããç¹å®ãããã®ããã©ãŒãã³ã¹ãæé©åããŸãã
- ãããã°ïŒã€ã³ã¿ã©ã¯ã·ã§ã³äžã®ã³ã³ããŒãã³ãã®å®è¡ãããŒã远跡ããäºæããªãåäœããšã©ãŒã®åå ãç¹å®ããŸãã
- ãããã¡ã€ãªã³ã°ïŒãããã¡ã€ãªã³ã°ããŒã«ãšçµ±åããŠã詳现ãªããã©ãŒãã³ã¹ã¡ããªã¯ã¹ãåéããã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£ãæç³»åã§èŠèŠåããŸãã
- Reactã®å éšæ§é ã®çè§£ïŒReactãã³ã³ããŒãã³ããšãã®ã©ã€ããµã€ã¯ã«ãã©ã®ããã«ç®¡çããŠãããã«ã€ããŠãããæ·±ãçè§£ãåŸãããšãã§ããŸãã
- éåæã¬ã³ããªã³ã°ã®åé¡ã®ç¹å®ïŒSuspenseãé å»¶èªã¿èŸŒã¿ããã®ä»ã®éåæã¬ã³ããªã³ã°ãã¿ãŒã³ã«é¢é£ããåé¡ãç¹å®ããŸãã
experimental_Activityã®ãŠãŒã¹ã±ãŒã¹
1. ããã©ãŒãã³ã¹ã®ããã«ããã¯ã®ç¹å®
è€æ°ã®ã€ã³ã¿ã©ã¯ãã£ããªã³ã³ããŒãã³ããæã€è€éãªããã·ã¥ããŒãããããšæ³åããŠãã ããããŠãŒã¶ãŒã¯ç¹å®ã®èŠçŽ ãæäœãããšããã·ã¥ããŒãã®åäœãéãæãããšå ±åããŠããŸããexperimental_Activityã䜿çšããããšã§ãã¬ã³ããªã³ã°ã«æãæéãããã£ãŠããã³ã³ããŒãã³ããç¹å®ãããã®ããã©ãŒãã³ã¹ãæé©åã§ããŸããããã«ã¯ãã³ã³ããŒãã³ãã®ã¡ã¢åãããŒã¿ãã§ããã®æé©åããŸãã¯äžèŠãªåã¬ã³ããªã³ã°ã®åæžãªã©ãå«ãŸããå ŽåããããŸãã
äŸïŒæ ªåŒååŒãã©ãããã©ãŒã ã«ã¯ãè€éãªãã£ãŒãã³ã³ããŒãã³ãããããããããŸãããexperimental_Activityã䜿çšãããšãåžå ŽããŒã¿ãæ¥éã«å€åããéã«ã©ã®ãã£ãŒãã®æŽæ°ãé
ãããç¹å®ããéçºè
ã¯ãããã®ç¹å®ã®ã³ã³ããŒãã³ãã«æé©åã®åªåãéäžãããããšãã§ããŸãã
2. è€éãªã€ã³ã¿ã©ã¯ã·ã§ã³ã®ãããã°
ã³ã³ããŒãã³ãéã®è€éãªã€ã³ã¿ã©ã¯ã·ã§ã³ã®ãããã°ã¯å°é£ãªå ŽåããããŸããexperimental_Activityã䜿çšãããšããããã®ã€ã³ã¿ã©ã¯ã·ã§ã³äžã®ã³ã³ããŒãã³ãã®å®è¡ãããŒã远跡ã§ããã³ã³ããŒãã³ããæŽæ°ãããé åºããããã®éã§æž¡ãããããŒã¿ã«é¢ããæŽå¯ãåŸãããŸããããã¯ãäºæããªãåäœããšã©ãŒã®æ ¹æ¬åå ãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
äŸïŒEã³ããŒã¹ã¢ããªã±ãŒã·ã§ã³ã§ããŠãŒã¶ãŒãååãã«ãŒãã«è¿œå ããã«ãŒãã®æŠèŠãæŽæ°ããããšããŸããexperimental_Activityã䜿çšãããšããã«ãŒãã«è¿œå ããã¿ã³ããã«ãŒãæŠèŠã³ã³ããŒãã³ããŸã§ã®å®è¡ãããŒã远跡ã§ããæ£ããããŒã¿ãæž¡ãããã³ã³ããŒãã³ããæåŸ
éãã®é åºã§æŽæ°ãããŠããããšã確èªã§ããŸãã
3. Reactã¢ããªã±ãŒã·ã§ã³ã®ãããã¡ã€ãªã³ã°
experimental_Activityã¯ããããã¡ã€ãªã³ã°ããŒã«ãšçµ±åããŠè©³çްãªããã©ãŒãã³ã¹ã¡ããªã¯ã¹ãåéããã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£ãæç³»åã§èŠèŠåããããšãã§ããŸããããã«ãããããã©ãŒãã³ã¹ã®åŸåãç¹å®ããæ¹åã®äœå°ãããé åãç¹å®ã§ããŸããReact Profilerã®ãããªäººæ°ã®ãããã¡ã€ãªã³ã°ããŒã«ã¯ãexperimental_Activityããã®ããŒã¿ã§åŒ·åãããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã®ããå
æ¬çãªãã¥ãŒãæäŸã§ããŸãã
äŸïŒãœãŒã·ã£ã«ã¡ãã£ã¢ã¢ããªã±ãŒã·ã§ã³ã¯ãReact Profilerãšçµã¿åãããŠexperimental_Activityã䜿çšãããã¥ãŒã¹ãã£ãŒãã³ã³ããŒãã³ãã®ããã©ãŒãã³ã¹ãæç³»åã§è¿œè·¡ãããããããŸãããããã«ãããããã©ãŒãã³ã¹ã®äœäžãç¹å®ãããã£ãŒãã倧ãããªãã«ã€ããŠæçš¿ã®ã¬ã³ããªã³ã°ãæé©åããã®ã«åœ¹ç«ã¡ãŸãã
4. éåæã¬ã³ããªã³ã°ã®çè§£
Reactã®Suspenseãé
å»¶èªã¿èŸŒã¿ãªã©ã®éåæã¬ã³ããªã³ã°æ©èœã¯ãã³ã³ããŒãã³ãã®åäœãæšæž¬ããã®ãé£ããããããšããããŸããexperimental_Activityã¯ãã³ã³ããŒãã³ãããã€äžæãããåéãããéåæã«èªã¿èŸŒãŸããããŒã¿ã«é¢ããæŽå¯ãæäŸããããšã§ããããã®æ©èœãã³ã³ããŒãã³ãã®ã¬ã³ããªã³ã°ã«ã©ã®ããã«åœ±é¿ããŠããããçè§£ããã®ã«åœ¹ç«ã¡ãŸãã
äŸïŒææžç·šéã¢ããªã±ãŒã·ã§ã³ã¯ã倧ããªææžããªã³ããã³ãã§èªã¿èŸŒãããã«é
å»¶èªã¿èŸŒã¿ã䜿çšãããããããŸãããexperimental_Activityã¯ãææžã®ç°ãªãéšåããã€èªã¿èŸŒãŸããã¬ã³ããªã³ã°ãããŠãããã远跡ããã®ã«åœ¹ç«ã¡ã倧ããªãã¡ã€ã«ãæ±ã£ãŠãããšãã§ãã¢ããªã±ãŒã·ã§ã³ã®å¿çæ§ãç¶æã§ããŸãã
experimental_Activityã®å®è£ æ¹æ³
experimental_Activityã䜿çšããã«ã¯ãAPIã«ã¢ã¯ã»ã¹ããããŸããŸãªã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£ã«å¯Ÿããã³ãŒã«ããã¯ãç»é²ããå¿
èŠããããŸãã以äžã«åºæ¬çãªäŸã瀺ããŸãïŒ
import * as React from 'react';
const activityListeners = {
onMount(instance) {
console.log('Component mounted:', instance.constructor.name);
},
onUpdate(instance) {
console.log('Component updated:', instance.constructor.name);
},
onUnmount(instance) {
console.log('Component unmounted:', instance.constructor.name);
},
};
// ã¢ã¯ãã£ããã£è¿œè·¡ãã°ããŒãã«ã«æå¹åïŒæ³šæããŠäœ¿çšïŒ
if (React.unstable_useMutableSource) {
React.unstable_Activity.setListeners(activityListeners);
}
function MyComponent() {
return <div>Hello, world!</div>;
}
export default MyComponent;
説æïŒ
Reactã¢ãžã¥ãŒã«ãã€ã³ããŒãããŸããonMountãonUpdateãonUnmountã®ã³ãŒã«ããã¯ãæã€ãªããžã§ã¯ãactivityListenersãå®çŸ©ããŸãããããã®ã³ãŒã«ããã¯ã¯ã察å¿ããã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£ãçºçãããšãã«åŒã³åºãããŸããReact.unstable_Activity.setListeners(activityListeners)ã䜿çšããŠããªã¹ããŒãã°ããŒãã«ã«ç»é²ããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³å ã®ãã¹ãŠã®ã³ã³ããŒãã³ãã«ãªã¹ããŒãé©çšãããŸããReact.unstable_useMutableSourceã®ãã§ãã¯ã¯ãAPIã䜿çšããããšããåã«å©çšå¯èœã§ããããšã確èªããããã«å«ãŸããŠããŸãã- ã¢ã¯ãã£ããã£è¿œè·¡ãå®èšŒããããã«ãç°¡åãªReactã³ã³ããŒãã³ã
MyComponentãäœæããŸãã
MyComponentãããŠã³ããæŽæ°ãã¢ã³ããŠã³ãããããšã察å¿ããã¡ãã»ãŒãžãã³ã³ãœãŒã«ã«èšé²ãããŸãã
é«åºŠãªäœ¿çšæ³ãšèæ ®äºé
1. éžæçãªã¢ã¯ãã£ããã£è¿œè·¡
ãã¹ãŠã®ã¢ã¯ãã£ããã£ã远跡ãã代ããã«ãç¹å®ã®ã³ã³ããŒãã³ããã¢ããªã±ãŒã·ã§ã³ã®äžéšã®ã¢ã¯ãã£ããã£ãéžæçã«è¿œè·¡ããããšãã§ããŸããããã¯ãé¢å¿ã®ããé åã«çŠç¹ãåãããããã¢ã¯ãã£ããã£è¿œè·¡ã®ããã©ãŒãã³ã¹ãªãŒããŒããããæå°éã«æãããããã®ã«åœ¹ç«ã¡ãŸãã
äŸïŒ
import * as React from 'react';
const activityListeners = {
onMount(instance) {
if (instance.constructor.name === 'ExpensiveComponent') {
console.log('ExpensiveComponent mounted');
}
},
// ... ä»ã®ãªã¹ããŒ
};
ãã®äŸã§ã¯ããExpensiveComponentããšããååã®ã³ã³ããŒãã³ãã®ããŠã³ãã€ãã³ãã®ã¿ããã°ã«èšé²ããŸãã
2. ãããã¡ã€ãªã³ã°ããŒã«ãšã®çµ±å
experimental_Activityããããã¡ã€ãªã³ã°ããŒã«ãšçµ±åããã«ã¯ãã¢ã¯ãã£ããã£ããŒã¿ãåéãããããããŒã«ã®APIã«æž¡ãããšãã§ããŸããããã«ãããã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£ãæç³»åã§èŠèŠåããä»ã®ããã©ãŒãã³ã¹ã¡ããªã¯ã¹ãšé¢é£ä»ããããšãã§ããŸãã
äŸïŒïŒæŠå¿µçïŒ
const activityData = [];
const activityListeners = {
onMount(instance) {
activityData.push({
type: 'mount',
component: instance.constructor.name,
timestamp: Date.now(),
});
},
// ... ä»ã®ãªã¹ããŒ
};
// åŸã§ãactivityDataããããã¡ã€ãªã³ã°ããŒã«ã«éä¿¡ãã
ãã®äŸã¯ãã¢ã¯ãã£ããã£ããŒã¿ãé åã«åéãããããèŠèŠåã®ããã«ãããã¡ã€ãªã³ã°ããŒã«ã«éä¿¡ããæ¹æ³ã瀺ããŠããŸããå ·äœçãªå®è£ ã¯ã䜿çšããŠããç¹å®ã®ãããã¡ã€ãªã³ã°ããŒã«ã«ãã£ãŠç°ãªããŸãã
3. ããã©ãŒãã³ã¹ãªãŒããŒããã
experimental_Activityã¯è²ŽéãªããŒã«ã§ããããã®æœåšçãªããã©ãŒãã³ã¹ãªãŒããŒãããã«æ³šæããããšãéèŠã§ããã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£ã远跡ãããšãã¬ã³ããªã³ã°ãã€ãã©ã€ã³ã«äœåãªåŠçã¹ãããã远å ãããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸããexperimental_Activityãè³¢æã«äœ¿çšããããã©ãŒãã³ã¹ãæžå¿µãããå Žåã¯æ¬çªç°å¢ã§ç¡å¹ã«ããããšãéèŠã§ãã
4. ã³ã³ããã¹ããšã¹ã³ãŒã
experimental_Activityã䜿çšããŠããã³ã³ããã¹ããšã¹ã³ãŒããèæ
®ããŠãã ãããã°ããŒãã«ãªã¹ããŒã¯åæèª¿æ»ã«ã¯åœ¹ç«ã¡ãŸãããçãçµã£ãåæã®ããã«ã¯ãç¹å®ã®ã³ã³ããŒãã³ããŸãã¯ãµãããªãŒå
ã§ã®ã¿ã¢ã¯ãã£ããªãããå
·äœçãªãªã¹ããŒã䜿çšããããšãæ€èšããŠãã ãããããã«ããããã€ãºãæžããããã©ãŒãã³ã¹ãžã®åœ±é¿ãæå°éã«æããããŸãã
experimental_Activityã䜿çšããããã®ãã¹ããã©ã¯ãã£ã¹
- çãçµã£ãåæã«äœ¿çšããïŒçµ¶å¯Ÿã«å¿
èŠãªå Žåãé€ããæ¬çªç°å¢ã§
experimental_Activityãã°ããŒãã«ã«æå¹ã«ããªãã§ãã ãããããã©ãŒãã³ã¹ã®åé¡ãåŒãèµ·ãããŠãããšçãããç¹å®ã®ã³ã³ããŒãã³ããã¢ããªã±ãŒã·ã§ã³ã®é åã«çŠç¹ãåœãŠãŠãã ããã - æ¬çªç°å¢ã§ã¯ç¡å¹ã«ããïŒäžèŠãªããã©ãŒãã³ã¹ãªãŒããŒããããé¿ããããã«ãæ¬çªãã«ãã§ã¯
experimental_Activityãç¡å¹ãŸãã¯åé€ãããŠããããšã確èªããŠãã ããããããå®çŸããã«ã¯ãæ¡ä»¶ä»ãã³ã³ãã€ã«ãç°å¢å€æ°ã䜿çšã§ããŸãã - å¿ èŠãªããŒã¿ã®ã¿ãåéããïŒäžèŠãªéå°ãªããŒã¿ãåéããªãã§ãã ãããããã¯ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããããŒã¿ã®åæãããå°é£ã«ããå¯èœæ§ããããŸãã
- é©åãªãããã¡ã€ãªã³ã°ããŒã«ã䜿çšããïŒã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£ãæç³»åã§èŠèŠåããä»ã®ããã©ãŒãã³ã¹ã¡ããªã¯ã¹ãšé¢é£ä»ããããšãã§ãããããã¡ã€ãªã³ã°ããŒã«ãšçµ±åããŠãã ããã
- ããã©ãŒãã³ã¹ãžã®åœ±é¿ãç£èŠããïŒ
experimental_Activityã®ããã©ãŒãã³ã¹ãžã®åœ±é¿ã宿çã«ç£èŠãã蚱容ã§ããªãããã©ãŒãã³ã¹ã®äœäžãåŒãèµ·ãããŠããªãããšã確èªããŠãã ããã - Reactã®ãªãªãŒã¹ã§ææ°æ
å ±ãå
¥æããïŒå®éšçãªAPIãšããŠã
experimental_Activityã¯å€æŽãããå¯èœæ§ããããŸããReactã®ãªãªãŒã¹ã§ææ°æ å ±ãå ¥æããå¿ èŠã«å¿ããŠã³ãŒããé©å¿ãããæºåãããŠãã ããã
experimental_Activityã®ä»£æ¿ææ®µ
experimental_Activityã¯ã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£ã远跡ããããã®äœã¬ãã«ã®ã¡ã«ããºã ãæäŸããŸãããç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã«ã¯ããé©ãã代æ¿ã¢ãããŒãããããŸãã
- React ProfilerïŒReact Profilerã¯ãReactã¢ããªã±ãŒã·ã§ã³ã®è©³çްãªããã©ãŒãã³ã¹ã¡ããªã¯ã¹ãæäŸããçµã¿èŸŒã¿ããŒã«ã§ããã¬ã³ããªã³ã°ãé ãã³ã³ããŒãã³ããç¹å®ãããã®ããã©ãŒãã³ã¹ãåæããããã«äœ¿çšã§ããŸãã
- ããã©ãŒãã³ã¹ç£èŠããŒã«ïŒæ¬çªç°å¢ã§Reactã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã远跡ã§ããããŸããŸãªããã©ãŒãã³ã¹ç£èŠããŒã«ãå©çšå¯èœã§ãããããã®ããŒã«ã¯éåžžãããŒãžã®èªã¿èŸŒã¿æéãã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ããã®ä»ã®äž»èŠãªã¡ããªã¯ã¹ã«é¢ããæŽå¯ãæäŸããŸãã
- ã«ã¹ã¿ã ã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ïŒã³ã³ããŒãã³ãã«ã«ã¹ã¿ã ã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ã远å ããŠãç¹å®ã®ã€ãã³ããã¡ããªã¯ã¹ã远跡ããããšãã§ããŸããããã¯ãè€éãªã³ã³ããŒãã³ãã®åäœãçè§£ããããã«ã¹ã¿ã ããã©ãŒãã³ã¹ã¡ããªã¯ã¹ã远跡ãããããã®ã«åœ¹ç«ã¡ãŸãã
å®äžçã§ã®äœ¿çšäŸ
ã°ããŒãã«Eã³ããŒã¹ãã©ãããã©ãŒã
äžçäžã«å±éããå€§èŠæš¡ãªEã³ããŒã¹ãã©ãããã©ãŒã ã§ã¯ãç¹å®ã®å°åã§ååããŒãžã®èªã¿èŸŒã¿æéãé
ããšããåé¡ãçºçããŠããŸãããexperimental_Activityã䜿çšããŠãéçºããŒã ã¯ååæšèŠã衚瀺ããããã«äœ¿çšããããµãŒãããŒãã£ã³ã³ããŒãã³ãããéå¹çãªããŒã¿ååŸãšã¬ã³ããªã³ã°ã®ããã«å€§å¹
ãªé
å»¶ãåŒãèµ·ãããŠããããšãç¹å®ããŸãããã³ã³ããŒãã³ããæé©åããç°ãªãå°ççäœçœ®ã«åããããã£ãã·ã³ã°æŠç¥ãå®è£
ããããšã§ã圌ãã¯ããŒãžèªã¿èŸŒã¿æéãšã°ããŒãã«ãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã倧å¹
ã«æ¹åããŸããã
åœéãã¥ãŒã¹ãŠã§ããµã€ã
ããåœéãã¥ãŒã¹ãŠã§ããµã€ãã¯ãç°ãªããã©ãŠã¶ãããã€ã¹éã§ã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã«äžè²«æ§ããªãããšã«æ°ã¥ããŸãããexperimental_ActivityãæŽ»çšããããšã§ã圌ãã¯ç¹å®ã®ã¢ãã¡ãŒã·ã§ã³ããã©ã³ãžã·ã§ã³ãäœã¹ããã¯ã®ããã€ã¹ã§éå°ãªåã¬ã³ããªã³ã°ãåŒãèµ·ãããŠããããšãçºèŠããŸããã圌ãã¯ã¢ãã¡ãŒã·ã§ã³ãæé©åããããã€ã¹ã®èœåã«åºã¥ããæ¡ä»¶ä»ãã¬ã³ããªã³ã°ãå®è£
ããçµæãããã€ã¹ã«é¢ä¿ãªããã¹ãŠã®èªè
ã«ãšã£ãŠããã¹ã ãŒãºãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãå®çŸããŸããã
å€èšèªã³ã©ãã¬ãŒã·ã§ã³ããŒã«
è€æ°ã®èšèªããµããŒãããå
±åææžç·šéããŒã«ã¯ãè€éãªãã©ãŒããããæã€å€§ããªææžãæ±ãéã«ããã©ãŒãã³ã¹ã®åé¡ã«çŽé¢ããŸãããexperimental_Activityãå©çšããããšã§ãããŒã ã¯ãªã¢ã«ã¿ã€ã ã³ã©ãã¬ãŒã·ã§ã³æ©èœãææžæ§é ãã¬ã³ããªã³ã°ããã³ã³ããŒãã³ãã§äžèŠãªæŽæ°ãããªã¬ãŒããŠããããšãç¹å®ããŸããã圌ãã¯ãããŠã³ã¹ãšã¹ããããªã³ã°æè¡ãå®è£
ããŠæŽæ°ã®é »åºŠãæžããããã®çµæãç°ãªãã¿ã€ã ãŸãŒã³ãèšèªã§å
±åäœæ¥ããããŒã ã«ãšã£ãŠå¿çæ§ãåäžããããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãããããããŸããã
çµè«
Reactã®experimental_Activity APIã¯ãã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£ã远跡ããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã«é¢ããæŽå¯ãåŸãããã®åŒ·åãªã¡ã«ããºã ãæäŸããŸãããã®APIã广çã«äœ¿çšããæ¹æ³ãçè§£ããããšã§ãéçºè
ã¯ããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããè€éãªã€ã³ã¿ã©ã¯ã·ã§ã³ããããã°ããããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®ããã«Reactã¢ããªã±ãŒã·ã§ã³ãæé©åã§ããŸããè³¢æã«äœ¿çšããå¿
èŠãªå Žåã¯æ¬çªç°å¢ã§ç¡å¹ã«ããAPIãé²åããã«ã€ããŠReactã®ãªãªãŒã¹ã§ææ°æ
å ±ãå
¥æããããšãå¿ããªãã§ãã ããã
experimental_Activityã¯å®éšçãªæ©èœã§ãããReactã¢ããªã±ãŒã·ã§ã³ã«ãããã³ã³ããŒãã³ãã®åäœãšããã©ãŒãã³ã¹ãçè§£ããããšã®éèŠæ§ãæµ®ã圫ãã«ããŠããŸããããã©ãŒãã³ã¹æé©åæè¡ãåãå
¥ããReact Profilerãexperimental_Activityã®ãããªããŒã«ã掻çšããããšã§ãéçºè
ã¯äžçäžã®ãŠãŒã¶ãŒã«åªãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸãã髿§èœãªReactã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã
ã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£è¿œè·¡ãæ¢æ±ããéã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ç¹å®ã®ããŒãºãèæ
®ããèŠä»¶ã«æãé©ããã¢ãããŒããéžæããããšãå¿ããªãã§ãã ãããexperimental_ActivityãReact ProfilerããŸãã¯ã«ã¹ã¿ã ã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ã䜿çšãããã«ããããããéèŠãªã®ã¯ããã©ãŒãã³ã¹ã®æé©åã«ç©æ¥µçã«åãçµã¿ããŠãŒã¶ãŒã®ããŒãºãæºãããŠããããšã確èªããããã«ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãç¶ç¶çã«ç£èŠããããšã§ãã
ãã®å
æ¬çãªã¬ã€ãã¯ãexperimental_Activityãçè§£ããæŽ»çšããããã®åŒ·åºãªåºç€ãæäŸããŸããäŸã詊ããããAPIããã¥ã¡ã³ãã調ã¹ããããã¯ããã¯ãèªåã®ãããžã§ã¯ãã«é©å¿ããããããŠãã ãããã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£è¿œè·¡ããã¹ã¿ãŒããããšã§ãäžçäžã®ãŠãŒã¶ãŒãåã°ãããããããã©ãŒãã³ã¹ãé«ããä¿å®ããããReactã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã