【vue3/react hooks/svelte对比学习】基础语法:引用组件+计数器

240 阅读1分钟

【vue3/react hooks/svelte对比学习】基础语法:引用组件+计数器


引用组件

三者语法都比较简单 一致采用上面引用下面直接使用的方式

vue3

<script setup>
import MyCounter from './notes/counter.vue';
</script>

<template>
  <my-counter />
</template>

react hooks

import Counter from './notes/counter';
// 上面引用 下面直接使用

export default function () {
  return (
    <div>
      <Counter />
    </div>
  );
}

svelte

<script>
import Counter from './notes/counter.svelte';
// 上面声明 下面直接使用
</script>

<Counter />

计数器实现

vue3

<script setup>
import { ref } from 'vue';
// ref在此时相当于vue2中的data,ref的参数是初始值
// 不管是变量还是函数 都是上面声明 下面使用
const counter = ref(0);

function onAdd () {
    counter.value++;
}

</script>

<template>
    {{ counter }}
    <button @click="onAdd">+1</button>
</template>

react hooks

import { useState } from 'react';

export default function () {
    // 此处采用的es6的数组解构赋值,前者为变量值,后者为改变变量的方法/函数
    const [counter, setCounter] = useState(0); 

    function onAdd () {
        setCounter(counter + 1);
    }

    return (
        <div>
            { counter }
            <button onClick={ onAdd }>+1</button>
        </div>
    );
}

svelte

<script>
// 非常简洁的变量+函数  基本是web component框架的进化完全体
let counter = 0;

function onAdd () {
    counter++;
}
</script>

{ counter }
<button on:click={ onAdd }>+1</button>

加油!