Reactã»Vueã»Svelteæ¯èŒ â åããã¿ã³ãäœã£ãŠãæžãæ¹ã®éããã€ããã
ð¢ åããã¿ã³ãç¶æ ã®æã¡æ¹ã¯3éã
ã©ã®äŸãïŒæŒããåæ° 0 â 1
- 身è¿ãªèª²é¡ãå°ãã詊ã
- åãæ¡ä»¶ã§éãã確ããã
- çµæã確èªããŠæ¬¡ãžé²ã
åããŽãŒã«ïŒ0ã衚瀺ããæŒããš1ã«ãªã
ããã§ã¯Reactã®é¢æ°ã³ã³ããŒãã³ããVue 3ã®Composition APIãSvelte 5ã®runesãšããæžãæ¹ãæ¯ã¹ãŸããHTMLã»CSSã»JavaScriptã®åºæ¬ãç¥ã£ãŠãããšèªã¿ããããªããŸããåã³ãŒãã¯å¯Ÿå¿ããéçºç°å¢ã®ã³ã³ããŒãã³ããã¡ã€ã«ãžçœ®ãäŸã§ãHTMLãžãã®ãŸãŸå šãŠè²Œãã³ãŒãã§ã¯ãããŸããã
ReactïŒç¶æ ãšæŽæ°é¢æ°ãçµã«ãã
Counter.jsxã®äŸã§ãããã©ãŠã¶ãŒåŽã§åãéåžžã®Reactã³ã³ããŒãã³ããšããŠäœ¿ããŸããNext.jsãªã©ã§äœ¿ãå Žåã¯ãClient Componentã®å¢çãå¥éèšå®ããŸãã
import { useState } from 'react';
export default function Counter() {
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount(n => n + 1)}>
æŒããåæ°ïŒ{count}
</button>
);
}
countãç¶æ
ãsetCountãæŽæ°é¢æ°ã§ããåã®å€ãž1ãè¶³ã颿°ãæž¡ããŠããŸããéåžžã®ããŒã«ã«å€æ°ãæžãæããã ãã§ã¯ãReactãžå衚瀺ãç¥ãããããšã«ãªããŸããã
VueïŒrefãšãã³ãã¬ãŒããçµã¿åããã
Counter.vueã®äŸã§ããJavaScriptãšãã³ãã¬ãŒãã1ãã¡ã€ã«ãžãŸãšããŸãã
<script setup>
import { ref } from 'vue';
const count = ref(0);
function increment() {
count.value++;
}
</script>
<template>
<button @click="increment">
æŒããåæ°ïŒ{{ count }}
</button>
</template>
JavaScriptã§å€ãå€ãããšãã¯count.valueã§ããããã§ã¯ãã³ãã¬ãŒãã®æäžäœã®refãªã®ã§ã衚瀺ã¯countã§äœ¿ããŸããOptions APIãšããå¥ã®èšæ³ããããããææãããŒã ã§ã©ã¡ãã䜿ãã確èªããŸãããã
SvelteïŒ$stateã§åå¿ããç¶æ ã宣èšãã
Counter.svelteã®äŸã§ããSvelte 5ã®runes modeã«åãããŠããŸãã
<script>
let count = $state(0);
</script>
<button onclick={() => count++}>
æŒããåæ°ïŒ{count}
</button>
$stateã§å®£èšããæ°ã倿Žãããšãããã䜿ã衚瀺ãå€ãããŸãã以åã®Svelteã®ææã«åºãŠããlet count = 0ãšãçŸåšã®runesãæ··ããŠèª¬æããªãããšã倧åã§ãã
éžã¶ãšãã«èŠãæ¡ä»¶
| èªåã®æ¡ä»¶ | æ¯ã¹ããã€ã³ã |
|---|---|
| æåã®1ç»é¢ | ç¶æ ã»ã€ãã³ãã»è¡šç€ºãèªåã§èª¬æã§ããã |
| æ¢åã®ããŒã | æ¡çšæžã¿ã®éå ·ãææãèšèšã«ãŒã«ã«åãããããã |
| å¿ èŠãªæ©èœ | UIéšåãå€éšã©ã€ãã©ãªãçšéã«åãã |
| ãµã€ãå šäœ | ããŒãžé·ç§»ããµãŒããŒåŠçãå ¬éå ãå«ããŠçµã¿ç«ãŠãããã |
è¡æ°ã ãã§ä¿å®ã®ããããã¯æ±ºãŸããŸãããReactãVueã«ããã«ãæã®åŠçããããSvelteã«ãå®è¡æã®åŠçããããŸãããåè ã¯å šéšãã©ãŠã¶ãŒãåŸè ã¯å®è¡æã®ä»äºããŒãããšããäºåæ³ã«ã¯ããªãããã«ããŸããããä»åãæ±äººãå°åå¥äººæ°ã»éåºŠãæž¬ã£ãæ¯èŒã¯ããŠããŸããã
次ã¯Reactå ¥éãVueå ¥éãSvelteå ¥éãããéžãã ç°å¢ã§ãã¿ã³ãåãããŠã¿ãŸãããã
åèè³æ
- Reactã®ç¶æ â useStateãšå衚瀺
- React Quick Start â ã³ã³ããŒãã³ããšJSX
- Vueã®ãªã¢ã¯ãã£ãç¶æ â refãšscript setup
- Vueã®æŠèŠ â APIã®èšæ³ãšåºæ¬ç¥è
- Svelte $state â runesã®ç¶æ ãšonclick
- Svelteã®æŠèŠ â ã³ã³ãã€ã©ãŒãšUI