Reactã®experimental_Activityãšã³ãžã³ã«ããã³ã³ããŒãã³ãã¬ãã«ã®ã€ã³ããªãžã§ã³ã¹ãšããæŠå¿µãæ¢ããŸãããããUXãããã©ãŒãã³ã¹ããããŠã°ããŒãã«éçºããŒã ã®è£œåæŠç¥ãããã«å€é©ãããããåŠã³ãŸãããã
ã¯ãªãã¯ã®å ãžïŒReactã®å®éšçã¢ã¯ãã£ããã£ãšã³ãžã³ã§ã³ã³ããŒãã³ãã¢ã¯ãã£ããã£ã€ã³ããªãžã§ã³ã¹ãè§£ãæŸã€
çŸä»£ã®ãŠã§ãéçºã®äžçã§ã¯ãããŒã¿ãçæ§ã§ããç§ãã¡ã¯ããŒãžãã¥ãŒããŠãŒã¶ãŒãããŒãã³ã³ããŒãžã§ã³ãã¡ãã«ãAPIã¬ã¹ãã³ã¹ã¿ã€ã ã现å¿ã®æ³šæãæã£ãŠè¿œè·¡ããŠããŸããReact Profilerããã©ãŠã¶ã®éçºè ããŒã«ãæŽç·ŽããããµãŒãããŒãã£ãã©ãããã©ãŒã ãªã©ã®ããŒã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ãã¯ããªããã©ãŒãã³ã¹ã«ã€ããŠåäŸã®ãªãæŽå¯ãäžããŠãããŸããããããçè§£ã®éèŠãªå±€ããŸã ã»ãšãã©æä»ããã®ãŸãŸã§ããããã¯ãã³ã³ããŒãã³ãã¬ãã«ã®ãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãšãããè€éã§è©³çްãªäžçã§ãã
ãŠãŒã¶ãŒãããŒãžã蚪ããããšã ãã§ãªãããã®ããŒãžã®è€éãªããŒã¿ã°ãªãããšã©ã®ããã«ã€ã³ã¿ã©ã¯ã·ã§ã³ããããæ£ç¢ºã«ç¥ãããšãã§ãããã©ãã§ããããïŒæ°ããããã·ã¥ããŒãã³ã³ããŒãã³ãã®ã©ã®æ©èœãçºèŠãããã©ã®æ©èœãç¡èŠãããŠãããããããŸããŸãªãŠãŒã¶ãŒã»ã°ã¡ã³ããå°åã«ããã£ãŠå®éåã§ãããã©ãã§ããããïŒããããããã³ããšã³ãåæã®æ°ããªããã³ãã£ã¢ã§ããã³ã³ããŒãã³ãã¢ã¯ãã£ããã£ã€ã³ããªãžã§ã³ã¹ã®é åã§ãã
ãã®èšäºã§ã¯ãå é²çã§æŠå¿µçãªæ©èœã§ãããæ¶ç©ºã®React experimental_Activity Analytics Engineãæ¢ããŸããããã¯ä»æ¥ãReactã©ã€ãã©ãªã®å ¬åŒãªäžéšã§ã¯ãããŸãããããã¬ãŒã ã¯ãŒã¯ã®èœåã«ãããè«ççãªé²åã衚ããŠãããéçºè ãã¢ããªã±ãŒã·ã§ã³ã®å©çšç¶æ³ãæãåºæ¬çãªã¬ãã«ãã€ãŸãã³ã³ããŒãã³ãã§çè§£ããããã®çµã¿èŸŒã¿ããŒã«ãæäŸããããšãç®æããŠããŸãã
Reactã¢ã¯ãã£ããã£åæãšã³ãžã³ãšã¯äœãïŒ
Reactã®ã³ã¢ãªèª¿åããã»ã¹ã«çŽæ¥çµã¿èŸŒãŸããã軜éã§ãã©ã€ãã·ãŒç¬¬äžã®ãšã³ãžã³ãæ³åããŠã¿ãŠãã ããããã®å¯äžã®ç®çã¯ãéåžžã«é«æ§èœãªæ¹æ³ã§ã³ã³ããŒãã³ãã®ã¢ã¯ãã£ããã£ãç£èŠãåéãå ±åããããšã§ããããã¯åãªãã€ãã³ããã¬ãŒã§ã¯ãããŸãããåã ã®ã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ãç¶æ ããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ã®ãã¿ãŒã³ãéçŽããŠçè§£ããããã«èšèšããããæ·±ãçµ±åãããã·ã¹ãã ã§ãã
ãã®ãããªãšã³ãžã³ã®èåŸã«ããäžå¿çãªå²åŠã¯ãçŸåšãå€§èŠæš¡ãªæåã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ããããã©ãŒãã³ã¹ãšãã©ã€ãã·ãŒã«é倧ãªåœ±é¿ãåãŒãå¯èœæ§ã®ããã»ãã·ã§ã³ãªãã¬ã€ããŒã«ãªãã§ã¯å¯ŸåŠãéåžžã«å°é£ãªåãã«çããããšã§ãïŒ
- ã³ã³ããŒãã³ããšã³ã²ãŒãžã¡ã³ãïŒã©ã®ã€ã³ã¿ã©ã¯ãã£ããªã³ã³ããŒãã³ãïŒãã¿ã³ãã¹ã©ã€ããŒããã°ã«ïŒãæãé »ç¹ã«äœ¿çšãããŠããŸããïŒã©ããç¡èŠãããŠããŸããïŒ
- ã³ã³ããŒãã³ãã®å¯èŠæ§ïŒè¡ååèµ·ãããŒãäŸ¡æ Œè¡šã®ãããªéèŠãªã³ã³ããŒãã³ãã¯ãå®éã«ãŠãŒã¶ãŒã®ãã¥ãŒããŒãã«ã©ã®ãããã®æé衚瀺ãããŠããŸããïŒ
- ã€ã³ã¿ã©ã¯ã·ã§ã³ãã¿ãŒã³ïŒãŠãŒã¶ãŒã¯ç¹å®ã®ãã¿ã³ãã¯ãªãã¯ããåã«ãããããŸããïŒã³ã³ããŒãã³ãå ã®2ã€ã®ã¿ããé »ç¹ã«åãæ¿ããŸããïŒ
- ããã©ãŒãã³ã¹ãšã®çžé¢ïŒã©ã®ãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ããç¹å®ã®ã³ã³ããŒãã³ãã§äžè²«ããŠé ããŸãã¯é«ã³ã¹ããªåã¬ã³ããªã³ã°ãåŒãèµ·ãããŸããïŒ
ãã®æŠå¿µçãªãšã³ãžã³ã¯ãããã€ãã®äž»èŠãªååã«ãã£ãŠç¹åŸŽã¥ããããã§ãããïŒ
- äœã¬ãã«ã®çµ±åïŒReactã®Fiberã¢ãŒããã¯ãã£ãšå ±åããããšã§ãåŸæ¥ã®DOMãã©ããããåæã¹ã¯ãªããã®ããã©ãŒãã³ã¹ããã«ãã£ãé¿ããæå°éã®ãªãŒããŒãããã§ããŒã¿ãåéã§ããŸãã
- ããã©ãŒãã³ã¹ç¬¬äžïŒããŒã¿ãããåŠçããµã³ããªã³ã°ãã¢ã€ãã«ã¿ã€ã åŠçãªã©ã®æè¡ã䜿çšããŠããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæµåçã§å¿çæ§ãä¿ã€ããšãä¿èšŒããŸãã
- ãã©ã€ãã·ãŒã»ãã€ã»ãã¶ã€ã³ïŒãšã³ãžã³ã¯å¿ååãããéèšããŒã¿ã«çŠç¹ãåœãŠãŸããããã¹ããã£ãŒã«ããžã®ããŒã¹ãããŒã¯ã®ãããªå人ãç¹å®ã§ããæ å ±ïŒPIIïŒã§ã¯ãªããã³ã³ããŒãã³ãåãã€ã³ã¿ã©ã¯ã·ã§ã³ã¿ã€ãã远跡ããŸãã
- æ¡åŒµå¯èœãªAPIïŒéçºè ã«ã¯ãããããReactããã¯ãéããŠã远跡ããªããã€ã³ããåéããããŒã¿ãã«ã¹ã¿ãã€ãºããããã®ã·ã³ãã«ã§å®£èšçãªAPIãæäŸãããŸãã
ã³ã³ããŒãã³ãã¢ã¯ãã£ããã£ã€ã³ããªãžã§ã³ã¹ã®æ±
çã®ã€ã³ããªãžã§ã³ã¹ãæäŸããããã«ããšã³ãžã³ã¯ããã€ãã®äž»èŠãªæ¬¡å ã«ããã£ãŠããŒã¿ãåéããå¿ èŠããããŸãããããã®æ±ã¯ãããªãã®UIãå®éã«ã©ã®ããã«æ©èœããŠããããå æ¬çã«çè§£ããããã®åºç€ã圢æããŸãã
1. 詳现ãªã€ã³ã¿ã©ã¯ã·ã§ã³è¿œè·¡
çŸä»£ã®åæã¯ãã°ãã°ãã¯ãªãã¯ãã§æ¢ãŸããŸãããããããŠãŒã¶ãŒãšã³ã³ããŒãã³ãã®é¢ããã¯ãã£ãšè±ãã§ãã詳现ãªã€ã³ã¿ã©ã¯ã·ã§ã³è¿œè·¡ã¯ãåçŽãªã¯ãªãã¯ã€ãã³ããè¶ ããŠããšã³ã²ãŒãžã¡ã³ãã®å šç¯å²ãæããŸãã
- æå³ã®ã·ã°ãã«ïŒ`onMouseEnter`ã`onMouseLeave`ã`onFocus`ã€ãã³ãã远跡ãããããããæéããã€ãŸããŠãŒã¶ãŒãã¯ãªãã¯ã決å®ããåã«èŠçŽ äžã§ãããŒããŠããæéãæž¬å®ããŸããããã¯ãŠãŒã¶ãŒã®èªä¿¡ãæ··ä¹±ã®åŒ·åãªææšãšãªãåŸãŸãã
- ãã€ã¯ãã€ã³ã¿ã©ã¯ã·ã§ã³ïŒè€æ°ã¹ãããã®ãã©ãŒã ãèšå®ããã«ã®ãããªè€éãªã³ã³ããŒãã³ãã®å Žåããšã³ãžã³ã¯ã€ã³ã¿ã©ã¯ã·ã§ã³ã®ã·ãŒã±ã³ã¹ã远跡ã§ããŸããäŸãã°ãèšå®ã³ã³ããŒãã³ãã§ãæ©èœAãæå¹ã«ãããŠãŒã¶ãŒã®70%ãçŽåŸã«æ©èœCãæå¹ã«ããããšãåŠã¶ããšãã§ããŸãã
- å ¥åãã€ããã¯ã¹ïŒæ€çŽ¢ããŒããã£ã«ã¿ãŒã®å ŽåããŠãŒã¶ãŒãçµæãèŠã€ãããŸã§ã«å ¥åããå¹³åæåæ°ããå ¥åãã¯ãªã¢ããŠããçŽãé »åºŠã远跡ã§ããŸããããã¯æ€çŽ¢ã¢ã«ãŽãªãºã ã®æå¹æ§ã«é¢ããçŽæ¥çãªãã£ãŒãããã¯ãæäŸããŸãã
2. å¯èŠæ§ãšãã¥ãŒããŒãåæ
ããã¯å€å žçãªåé¡ã§ãïŒããŒã ããŒãžã®äžéšã«çŸãããã¶ã€ã³ãããããã¢ãŒã·ã§ã³ã³ã³ããŒãã³ããé 眮ããããã³ã³ããŒãžã§ã³ã¯å¢å ããªããããŒã±ãã£ã³ã°ããŒã ã¯å°æããŠããŸããåé¡ã¯åçŽãããããŸããâ誰ããããèŠãã»ã©ååã«ã¹ã¯ããŒã«ããŠããªãã®ã§ãããã¥ãŒããŒãåæããã®çããæäŸããŸãã
- ãã¥ãŒå æéïŒå éšçã«Intersection Observer APIãæŽ»çšããŠããšã³ãžã³ã¯ã³ã³ããŒãã³ãããã¥ãŒããŒãå ã§å°ãªããšã50%衚瀺ãããŠããçŽ¯ç©æéãå ±åã§ããŸãã
- ã€ã³ãã¬ãã·ã§ã³ããŒããããïŒå¯èŠæ§ããŒã¿ãéçŽããããšã§ãã¢ããªã±ãŒã·ã§ã³ã®ããŒãžã®ããŒãããããçæããã©ã®ã³ã³ããŒãã³ããæããèŠç·æéããåŸãŠãããã瀺ããã¬ã€ã¢ãŠããã³ã³ãã³ãã®åªå é äœã«é¢ããæ±ºå®ãå°ããŸãã
- ã¹ã¯ããŒã«æ·±åºŠãšã®çžé¢ïŒã³ã³ããŒãã³ãã®å¯èŠæ§ãšã¹ã¯ããŒã«æ·±åºŠãé¢é£ä»ããããæ©èœãã³ã³ããŒãã³ããèŠããŠãŒã¶ãŒã®äœããŒã»ã³ããããäŸ¡æ Œãã³ã³ããŒãã³ããèŠããŸã§ã¹ã¯ããŒã«ããŠã³ãããïŒããšãã£ãåãã«çããããšãã§ããŸãã
3. ç¶æ 倿Žãšã¬ã³ããŒã®çžé¢
ããã§ããšã³ãžã³ãšReactã®å éšãšã®æ·±ãçµ±åãç䟡ãçºæ®ããŸãããŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ãç¶æ ã®æŽæ°ããããŠãã®çµæçããããã©ãŒãã³ã¹ãžã®åœ±é¿ãçµã³ã€ããããšãã§ããŸãã
- ã¢ã¯ã·ã§ã³ããã¬ã³ããªã³ã°ãžã®ãã¹ïŒãŠãŒã¶ãŒããã¿ã³ãã¯ãªãã¯ãããšããšã³ãžã³ã¯æŽæ°ãã¹å šäœããã¬ãŒã¹ã§ããŸãïŒã©ã®ç¶æ ãæŽæ°ããããã®çµæã©ã®ã³ã³ããŒãã³ããåã¬ã³ããªã³ã°ãããããã»ã¹å šäœã«ã©ããããã®æéãããã£ããã
- ç¡é§ãªã¬ã³ããªã³ã°ã®ç¹å®ïŒèŠªããã®props倿Žã«ããé »ç¹ã«åã¬ã³ããªã³ã°ãããããå šãåãDOMåºåãçæããã³ã³ããŒãã³ããèªåçã«ãã©ã°ä»ãã§ããŸããããã¯`React.memo`ãå¿ èŠã§ããå€å žçãªå åã§ãã
- ç¶æ 倿Žã®ãããã¹ãããïŒæéãšãšãã«ãã¢ããªã±ãŒã·ã§ã³å šäœã§æãåºç¯å²ãªåã¬ã³ããªã³ã°ãåŒãèµ·ããç¶æ ã®æçãç¹å®ããããŒã ãç¶æ 管çã®æé©åã®æ©äŒïŒäŸïŒç¶æ ãããªãŒã®äžã«ç§»åããããŸãã¯ZustandãJotaiã®ãããªããŒã«ã䜿çšããïŒãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
ã©ã®ããã«æ©èœãããïŒæè¡çãªäžç«¯
ãã®ãããªã·ã¹ãã ã®éçºè äœéšãã©ã®ãããªãã®ã«ãªããæšæž¬ããŠã¿ãŸããããèšèšã¯ã·ã³ãã«ããšãªããã€ã³ã¢ãã«ãåªå ããéçºè ãå®å šã«å¶åŸ¡ã§ããããã«ããŸãã
ããã¯ããŒã¹ã®APIïŒ`useActivity`
äž»èŠãªã€ã³ã¿ãŒãã§ãŒã¹ã¯ãæ°ããçµã¿èŸŒã¿ããã¯ãä»®ã«`useActivity`ãšåŒã³ãŸããããã«ãªãå¯èœæ§ãé«ãã§ããéçºè ã¯ããã䜿çšããŠã远跡察象ã®ã³ã³ããŒãã³ãã«ã¿ã°ãä»ããããšãã§ããŸãã
äŸïŒãã¥ãŒã¹ã¬ã¿ãŒç»é²ãã©ãŒã ã®è¿œè·¡
import { useActivity } from 'react';
function NewsletterForm() {
// Activity Engineã«ã³ã³ããŒãã³ããç»é²
const { track } = useActivity('NewsletterForm_v2');
const handleSubmit = (e) => {
e.preventDefault();
// ã«ã¹ã¿ã ã®'submit'ã€ãã³ããçºç«
track('submit', { method: 'enter_key' });
// ... ãã©ãŒã éä¿¡ããžãã¯
};
const handleFocus = () => {
// ã¡ã¿ããŒã¿ä»ãã®ã«ã¹ã¿ã 'focus'ã€ãã³ããçºç«
track('focus', { field: 'email_input' });
};
return (
);
}
ãã®äŸã§ã¯ã`useActivity`ããã¯ã¯`track`颿°ãæäŸããŸãããšã³ãžã³ã¯æšæºçãªãã©ãŠã¶ã€ãã³ãïŒã¯ãªãã¯ããã©ãŒã«ã¹ãå¯èŠæ§ïŒãèªåçã«ãã£ããã£ããŸããã`track`颿°ã«ãããéçºè ã¯ãããªããã§ãã¡ã€ã³åºæã®ã³ã³ããã¹ãã远å ã§ããŸãã
React Fiberãšã®çµ±å
ãã®ãšã³ãžã³ã®åã¯ãReactã®èª¿åã¢ã«ãŽãªãºã ã§ããFiberãšã®çè«çãªçµ±åããçãŸããŸããåããã¡ã€ããŒãã¯ã³ã³ããŒãã³ãã衚ãäœæ¥åäœã§ããã¬ã³ããŒãã§ãŒãºãšã³ããããã§ãŒãºäžã«ããšã³ãžã³ã¯æ¬¡ã®ããšãã§ããŸãïŒ
- ã¬ã³ããŒæéã®æž¬å®ïŒåã³ã³ããŒãã³ããã¬ã³ããªã³ã°ãããDOMã«ã³ãããããããŸã§ã®æéãæ£ç¢ºã«èšæž¬ããŸãã
- æŽæ°åå ã®è¿œè·¡ïŒã³ã³ããŒãã³ãããªãæŽæ°ããããïŒäŸïŒç¶æ 倿Žãprops倿Žãã³ã³ããã¹ã倿ŽïŒãçè§£ããŸãã
- åæäœæ¥ã®ã¹ã±ãžã¥ãŒãªã³ã°ïŒReactèªèº«ã®ã¹ã±ãžã¥ãŒã©ã䜿çšããŠãã¢ã€ãã«æéäžã«åæããŒã¿ããããåŠçããŠéä¿¡ãããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãã¢ãã¡ãŒã·ã§ã³ãªã©ã®é«åªå 床ã®äœæ¥ã«å¹²æžããªãããã«ããŸãã
èšå®ãšããŒã¿åºå
ããŒã¿ãåãåºãæ¹æ³ããªããã°ããšã³ãžã³ã¯åœ¹ã«ç«ã¡ãŸãããããããã¢ããªã±ãŒã·ã§ã³ã®ã«ãŒãã§ã®ã°ããŒãã«èšå®ããããŒã¿ã®åŠçæ¹æ³ãå®çŸ©ããŸãã
import { ActivityProvider } from 'react';
const activityConfig = {
// ãããåŠçãããã¢ã¯ãã£ããã£ããŒã¿ã§åŒã³åºã颿°
onFlush: (events) => {
// åæããã¯ãšã³ãïŒäŸïŒOpenTelemetry, Mixpanel, å
éšãµãŒãã¹ïŒã«ããŒã¿ãéä¿¡
fetch('/api/analytics', {
method: 'POST',
body: JSON.stringify(events),
});
},
// ããŒã¿ããã©ãã·ã¥ããé »åºŠïŒããªç§ïŒ
flushInterval: 5000,
// ç¹å®ã®ã€ãã³ãã¿ã€ãã®è¿œè·¡ãæå¹/ç¡å¹ã«ãã
enabledEvents: ['click', 'visibility', 'custom'],
// ã°ããŒãã«ãµã³ããªã³ã°ã¬ãŒãïŒäŸïŒã»ãã·ã§ã³ã®10%ã®ã¿ã远跡ïŒ
samplingRate: 0.1,
};
ReactDOM.createRoot(document.getElementById('root')).render(
ã°ããŒãã«ããŒã åãã®å®çšçãªãŠãŒã¹ã±ãŒã¹
ã³ã³ããŒãã³ãã¢ã¯ãã£ããã£ã€ã³ããªãžã§ã³ã¹ã¯ãæœè±¡çãªã¡ããªã¯ã¹ãè¶ ããç¹ã«å€æ§ãªåœéçãŠãŒã¶ãŒããŒã¹åãã®ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããŒã ã«ãšã£ãŠãè£œåæŠç¥ãæšé²ã§ããå®çšçãªæŽå¯ãæäŸããŸãã
ãã€ã¯ãã¬ãã«ã§ã®A/Bãã¹ã
å®å šã«ç°ãªã2ã€ã®ããŒãžã¬ã€ã¢ãŠãããã¹ããã代ããã«ãåäžã®ã³ã³ããŒãã³ãã®ããªãšãŒã·ã§ã³ãA/Bãã¹ãã§ããŸããã°ããŒãã«ãªeã³ããŒã¹ãµã€ãã§ã¯ã次ã®ãããªãã¹ããå¯èœã§ãïŒ
- ãã¿ã³ã®ã©ãã«ïŒè±åœãšç±³åœã§ãAdd to BasketããšãAdd to Cartãã®ã©ã¡ããããè¯ãããã©ãŒãã³ã¹ã瀺ããŸããïŒãšã³ãžã³ã¯ã¯ãªãã¯ã ãã§ãªãããããŒããã¯ãªãã¯ãŸã§ã®æéãæž¬å®ããŠæçããè©äŸ¡ã§ããŸãã
- ã¢ã€ã³ã³ïŒãã£ã³ããã¯ã¢ããªã§ããä»ããæ¯æãããã¿ã³ã«ãããŒã«ã©ã€ãºãããé貚èšå·ãããåœéçã«èªèãããŠããé貚èšå·ã®æ¹ãããã©ãŒãã³ã¹ãè¯ãã§ããããïŒã€ã³ã¿ã©ã¯ã·ã§ã³çã远跡ããŠèŠã€ãåºããŸãã
- ã³ã³ããŒãã³ãã®ã¬ã€ã¢ãŠãïŒè£œåã«ãŒãã§ãç»åãå·Šã«ãããã¹ããå³ã«é 眮ããæ¹ããéã®ã¬ã€ã¢ãŠãããããã«ãŒãã«è¿œå ãã®ã€ã³ã¿ã©ã¯ã·ã§ã³ã«ã€ãªãããŸããïŒããã¯å°åã®èªã¿æ¹ïŒå·Šããå³ vs. å³ããå·ŠïŒã«ãã£ãŠå€§ããç°ãªãå¯èœæ§ããããŸãã
è€éãªãã¶ã€ã³ã·ã¹ãã ã®æé©å
å€§äŒæ¥ã«ãšã£ãŠããã¶ã€ã³ã·ã¹ãã ã¯éèŠãªè³ç£ã§ããã¢ã¯ãã£ããã£ãšã³ãžã³ã¯ããããç¶æããããŒã ã«ãã£ãŒãããã¯ã«ãŒããæäŸããŸãã
- ã³ã³ããŒãã³ãã®æ¡çšïŒç°ãªãå°åã®éçºããŒã ã¯ãæ°ãã`V2_Button`ã䜿çšããŠããŸããããããšãéæšå¥šã®`V1_Button`ã«åºå·ããŠããŸããïŒäœ¿çšçµ±èšã¯æç¢ºãªæ¡çšã¡ããªã¯ã¹ãæäŸããŸãã
- ããã©ãŒãã³ã¹ã®ãã³ãããŒãã³ã°ïŒããŒã¿ããã`InteractiveDataTable`ã³ã³ããŒãã³ãããäœã¹ããã¯ã®ããã€ã¹ãæã€å°åã®ãŠãŒã¶ãŒã«å¯ŸããŠäžè²«ããŠããã©ãŒãã³ã¹ãæªãããšãæããã«ãªããããããŸããããã®æŽå¯ã¯ããã®ç¹å®ã®ã³ã³ããŒãã³ãã«å¯Ÿããã¿ãŒã²ãããçµã£ãããã©ãŒãã³ã¹æé©åã€ãã·ã¢ããã®åŒãéãšãªããŸãã
- APIã®ãŠãŒã¶ããªãã£ïŒéçºè ãäžè²«ããŠã³ã³ããŒãã³ãã®propsã誀çšããŠããå ŽåïŒã³ã³ãœãŒã«ã®èŠåããšã©ãŒããŠã³ããªã®ããªããã«ãã£ãŠèšŒæãããïŒãåæã¯ãã®ã³ã³ããŒãã³ãã®APIãçŽããããããšã瀺åããããè¯ãããã¥ã¡ã³ããŒã·ã§ã³ãåèšèšãä¿ããŸãã
ãŠãŒã¶ãŒãªã³ããŒãã£ã³ã°ãšã¢ã¯ã»ã·ããªãã£ã®åŒ·å
ãªã³ããŒãã£ã³ã°ãããŒã¯ãŠãŒã¶ãŒå®çã«äžå¯æ¬ ã§ããã³ã³ããŒãã³ãã€ã³ããªãžã§ã³ã¹ã¯ããŠãŒã¶ãŒãã©ãã§ã€ãŸããããæ£ç¢ºã«ç¹å®ã§ããŸãã
- ãã¥ãŒããªã¢ã«ã®ãšã³ã²ãŒãžã¡ã³ãïŒè€æ°ã¹ãããã®è£œåãã¢ãŒã§ããŠãŒã¶ãŒãã©ã®ã¹ããããšã€ã³ã¿ã©ã¯ã·ã§ã³ããã©ã®ã¹ããããã¹ããããããã確èªã§ããŸãããã€ãã®ãŠãŒã¶ãŒã®90%ãã詳现ãã£ã«ã¿ãŒãã説æããã¹ããããã¹ãããããå Žåããã®æ©èœã¯åœŒãã«ãšã£ãŠé¢é£æ§ãäœããããã€ãèªã§ã®èª¬æãäžæçãªã®ãããããŸããã
- ã¢ã¯ã»ã·ããªãã£ç£æ»ïŒãšã³ãžã³ã¯ããŒããŒãããã²ãŒã·ã§ã³ã®ãã¿ãŒã³ã远跡ã§ããŸãããŠãŒã¶ãŒãéèŠãªãã©ãŒã å ¥åãé »ç¹ã«ã¿ãã§éãéããå Žåãæœåšçãª`tabIndex`ã®åé¡ã瀺åããŸããããŒããŒããŠãŒã¶ãŒãã³ã³ããŒãã³ãå ã®ã¿ã¹ã¯ãå®äºããã®ã«ããŠã¹ãŠãŒã¶ãŒãããèããæéããããå Žåãã¢ã¯ã»ã·ããªãã£ã®ããã«ããã¯ã瀺åããŸããããã¯ãWCAGã®ãããªã°ããŒãã«ãªã¢ã¯ã»ã·ããªãã£åºæºãæºããäžã§éåžžã«è²Žéã§ãã
課é¡ãšå«ççèæ ®äºé
ããã»ã©åŒ·åãªã·ã¹ãã ã«ã¯ã課é¡ãšè²¬ä»»ã䌎ããŸãã
- ããã©ãŒãã³ã¹ãªãŒããŒãããïŒæå°éã«èšèšãããŠããŸããããããªã圢åŒã®ç£èŠã«ãã³ã¹ããããããŸãããšã³ãžã³ãç¹ã«ããŒãšã³ãããã€ã¹ã§ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã«æªåœ±é¿ãäžããªãããšãä¿èšŒããããã«ã峿 Œãªãã³ãããŒãã³ã°ãäžå¯æ¬ ã§ãã
- ããŒã¿éãšã³ã¹ãïŒã³ã³ããŒãã³ãã¬ãã«ã®è¿œè·¡ã¯ã倧éã®ããŒã¿ãçæããå¯èœæ§ããããŸããããŒã ã¯ãããŒã¿éãšé¢é£ããã¹ãã¬ãŒãžã³ã¹ãã管çããããã«ãå ç¢ãªããŒã¿ãã€ãã©ã€ã³ãšãµã³ããªã³ã°ã®ãããªæŠç¥ãå¿ èŠã«ãªããŸãã
- ãã©ã€ãã·ãŒãšåæïŒãããæãéèŠãªèæ ®äºé ã§ãããšã³ãžã³ã¯ããŠãŒã¶ãŒã®ãã©ã€ãã·ãŒãä¿è·ããããã«ãŒãããèšèšãããªããã°ãªããŸãããæ©å¯æ§ã®é«ããŠãŒã¶ãŒå ¥åãæ±ºããŠãã£ããã£ããŠã¯ãªããŸããããã¹ãŠã®ããŒã¿ã¯å¿ååããããã®å®è£ ã¯GDPRãCCPAã®ãããªã°ããŒãã«ãªèŠå¶ã«æºæ ããå¿ èŠããããããã«ã¯ããŒã¿åéã«å¯ŸãããŠãŒã¶ãŒã®åæã®å°éãå«ãŸããŸãã
- ã·ã°ãã«å¯Ÿãã€ãºïŒéåžžã«å€ãã®ããŒã¿ãããããã課é¡ã¯è§£éã«ç§»ããŸããããŒã ã¯ãæ å ±ã®æŽªæ°Žããã£ã«ã¿ãªã³ã°ããæå³ã®ããå®çšçãªã·ã°ãã«ãç¹å®ããããã®ããŒã«ãšå°éç¥èãå¿ èŠã«ãªããŸãã
æªæ¥ã¯ã³ã³ããŒãã³ããæèãã
å°æ¥ãèŠæ®ãããšãçµã¿èŸŒã¿ã®ã¢ã¯ãã£ããã£ãšã³ãžã³ãšããæŠå¿µã¯ãã©ãŠã¶ãã¯ããã«è¶ ããŠæ¡åŒµãããå¯èœæ§ããããŸãããã®æ©èœãReact Nativeå ã«ååšããããšãæ³åããŠã¿ãŠãã ãããäœåãã®ç°ãªãããã€ã¹ã¿ã€ããç»é¢ãµã€ãºã§ããŠãŒã¶ãŒãã¢ãã€ã«ã¢ããªã®ã³ã³ããŒãã³ããšã©ã®ããã«ã€ã³ã¿ã©ã¯ã·ã§ã³ãããã«ã€ããŠã®æŽå¯ãæäŸããŸããç§ãã¡ã¯ã€ãã«ãããã®ãã¿ã³ã¯å°åã®Androidããã€ã¹ã®ãŠãŒã¶ãŒã«ãšã£ãŠå°ããããªããïŒããããã¿ãã¬ããã®ãŠãŒã¶ãŒã¯ãæºåž¯é»è©±ã®ãŠãŒã¶ãŒããããµã€ãããŒããã²ãŒã·ã§ã³ãå€ãå©çšãããïŒããšãã£ãåãã«çããããšãã§ããããã«ãªãã§ãããã
ãã®ããŒã¿ã¹ããªãŒã ãæ©æ¢°åŠç¿ãšçµ±åããããšã§ããã©ãããã©ãŒã ã¯äºæž¬åæãæäŸãå§ããããšããã§ããŸããäŸãã°ããŠãŒã¶ãŒã®é¢åãšé«ãçžé¢ãããã³ã³ããŒãã³ãã€ã³ã¿ã©ã¯ã·ã§ã³ã®ãã¿ãŒã³ãç¹å®ãã補åããŒã ãç©æ¥µçã«ä»å ¥ã§ããããã«ããŸãã
çµè«ïŒå ±æããã£ãŠå€§èŠæš¡ã«æ§ç¯ãã
æ¶ç©ºã®React experimental_Activity Analytics Engineã¯ãããŒãžã¬ãã«ã®ã¡ããªã¯ã¹ããããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«å¯Ÿããæ·±ãå ±æçãªãã³ã³ããŒãã³ãã¬ãã«ã®çè§£ãžã®ãã©ãã€ã ã·ããã衚ããŠããŸããããã¯ãããŠãŒã¶ãŒã¯ãã®ããŒãžã§äœããããïŒããšå°ããããšãããããŠãŒã¶ãŒã¯ãã®UIã®ç¹å®ã®éšåãã©ã®ããã«äœéšãããïŒããžãšç§»è¡ããããšã§ãã
ãã®ã€ã³ããªãžã§ã³ã¹ããç§ãã¡ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«äœ¿çšãããã¬ãŒã ã¯ãŒã¯ã«çŽæ¥åã蟌ãããšã§ãããè¯ãèšèšæ±ºå®ãããéãããã©ãŒãã³ã¹ããããŠããçŽæçãªè£œåãæšé²ããç¶ç¶çãªãã£ãŒãããã¯ã«ãŒããäœæã§ããŸãã倿§ãªãªãŒãã£ãšã³ã¹ã«ãšã£ãŠãã€ãã£ãã§çŽæçã«æããããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšåªåããã°ããŒãã«ããŒã ã«ãšã£ãŠããã®ã¬ãã«ã®æŽå¯ã¯åãªããããã°è¯ããã®ãã§ã¯ãªãããŠãŒã¶ãŒäžå¿éçºã®æªæ¥ã§ãã
ãã®ãšã³ãžã³ã¯ä»ã®ãšããæŠå¿µã®ãŸãŸã§ããããã®èåŸã«ããååã¯ãReactã³ãã¥ããã£å šäœãžã®è¡ååèµ·ã§ããã©ãããã°ããã芳枬å¯èœãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããã§ããããïŒReactã®ã¢ãŒããã¯ãã£ã®åãæŽ»çšããŠãUIãæ§ç¯ããã ãã§ãªããããããæ·±ãçè§£ããã«ã¯ã©ãããã°ããã§ããããïŒçã®ã³ã³ããŒãã³ãã¢ã¯ãã£ããã£ã€ã³ããªãžã§ã³ã¹ãžã®æ ã¯ããŸã å§ãŸã£ãã°ããã§ãã