相信很多前端小伙伴都有过纠结的时候,开始一个项目的时候是该选vue还是react。很多情况下,都是根据团队现有框架延续,或者是自身数量度。渐渐的公司组件和规范全基于某一种框架,虽然很爽但Allin难掉头。本文就浅浅的比较下vue和react框架,谈一谈个人看法。
目前二者的版本和周下载对比:
名称 | 最新版本 | 周下载(百万次) | 问题数 |
vue | 3.5.10 | 5.5 | 642 |
react | 18.3.1 | 25.8 | 650 |
比较可惜的是目前npmjs官网差不多vue2的数据了,react的全球下载量是react的五分之一,而国内npmmirror下载量每周也就0.5m,react稍微小一点0.4m左右。二者都比年初要提升不少,只是vue基数比较小,总体来看vue的用户数量是比react少一些的。但国内react用户量在增加明显
下面将对比下二者使用上的差异,设计和性能就不比较了,其实都差别不太大。
1. 状态管理
Vue 3
在 Vue 3 中,setup
是一个新引入的生命周期钩子,它允许我们通过 ref
和 reactive
创建和管理组件内部的状态。setup
函数的主要优点是更容易组织和复用逻辑,尤其是与组合式 API 搭配使用时。
<template>
<div>
<p>{
{ count }}</p>
<button @click="increment">Increment</button>
</div>
</template>
<script >
import { ref } from 'vue';
export default {
setup() {
const count = ref(0);
const increment = () => {
count.value++;
};
return { count, increment };
}
};
</script>
在这个示例中,ref
用于声明响应式状态 count
,并且 setup
函数返回的数据会暴露给模板。
React (函数式组件)
React 中,状态管理依赖于 useState
钩子。React 的函数式组件(FC)是无状态的,但通过 Hooks(如 useState
和 useReducer
)可以实现状态管理。
j
import React, { useState } from 'react';
const Counter = () => {
const [count, setCount] = useState(0);
const increment = () => {
setCount(count + 1);
};
return (
<div>
<p>{count}</p>
<butto