NextJS官网实战01:Vue与React的区别

之前用的都是vue,趁着公司还未开始做这个官网项目,我个人一点一点挤时间学习为后面的基建开始打好铺垫。之前做的官网,要么纯vue来做,要么就是海外官网wordpress,古早一些就是html。这次主要是做国内WenDora Ai 的官网,Next.js也比Nuxt更成熟一些,顺带刺激刺激一下自己的大脑,接受知识的冲击吧啊哈哈哈哈哈。

学习来源:React官方文档Next官方文档

个人总结比较偏项目实战性,偏理论上的请点击前面的学习来源移步官方文档进行学习。

整体官方文档看下来后,粗浅的总结如下内容:

vue和react区别
  1. Vue 更像"模板驱动 + 官方全家桶完整方案"。
  2. React 更像"JavaScript 驱动视图 + 用组合拼出应用"
  3. 从 Vue 切到 React,最需要改的不是语法,而是:
    • 从"模板思维"切到"函数组件思维"
    • 从"响应式自动追踪"切到"状态变了就重新渲染"
    • 从"配置式路由"切到"文件即路由"
1. 模板写法不同
javascript 复制代码
//vue 常见写法
<template>
  <div>
    <h1>{{ title }}</h1>
    <button @click="count++">点击</button>
  </div>
</template>

//react 常见写法
export default function Demo() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <h1>{title}</h1>
      <button onClick={() => setCount(count + 1)}>点击</button>
    </div>
  );
}
2、数据流理念不同

Vue 和 React 都是单向数据流,但使用感不一样。

Vue:

  1. props
  2. emit
  3. provide/inject
  4. pinia

React:

  1. props
  2. 回调函数上抛
  3. context
  4. 第三方状态库

Vue 里父子通信通常是:

  • 父传 props
  • 子触发 emit

React 里通常是:

  • 父传 props
  • 子调用父传进来的函数
3、路由思维不一样

Vue 常见:

  1. 建一个 views/
  2. 再建一个 router/index.ts
  3. 手动配置 path 和 component

React + Next:

  1. 文件夹就是路由
  2. 不需要单独写 router 配置
  3. app 目录天然就是路由系统
4、 状态写法不同
javascript 复制代码
//vue 常见
/*
*Vue拿到的是一个响应式容器,修改.value或者对象属性就行了
*/
const count = ref(0);
count.value++;






//React 常见
/*
*react拿到的是当前的状态值,不能直接修改,要通过setState更新
*/
const [count, setCount] = useState(0);
setCount(count + 1);
5、官方生态差异

Vue 的官方整套方案更完整:

  1. Vue
  2. Vue Router
  3. Pinia
  4. Nuxt

React 官方更"核心库化":

  1. React 只管 UI
  2. 路由、数据、框架常常交给生态
  3. Next.js 在 React 世界里承担了"官网/全栈/SEO 框架"的角色
  • Vue 更像一套默认答案,React 更像"给你自由拼装"
  • Next 则是 React 世界里帮你收拢工程方案的框架
5、实用对照表(粗浅版)
Vue 常见写法 React 常见写法
v-if 条件表达式
v-for array.map()
@click onClick
: 绑定属性 JSX 表达式
ref / reactive useState
computed 普通计算 / 派生值
watch useEffect(约等于
emit 回调函数
router/index.ts 文件路由
App.vue layout.tsx
6、核心区别

1、vue是【HTML模板+指令】,react是【JSX(本质上就是js里去写UI)】

2、vue常见的渲染是v-if、v-for、@click这种,react对应的都是js方法类,三元符判断、循环、onClick等这类

3、vue组件上像【配置对象】,react组件像【接收输入并返回UI的函数】

4、响应式的机制也不同,vue强调响应式系统,数据变了,模板依赖自动更新。react强调状态驱动重新渲染,状态变了,组件函数重新跑一遍,重新生成UI描述

相关推荐
爱勇宝14 小时前
AI 时代:智商决定起点,情商决定走多远
前端·ai编程
kyriewen14 小时前
用了半年 Claude Code 后,我尝试关掉它写了一周代码——结果比想象中严重
前端·javascript·ai编程
IT_陈寒15 小时前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
徐小夕16 小时前
万字拆解 JitWord:企业级实时协同文档底层架构 + 大模型 AI 融合完整实践
前端·vue.js·github
一份执念16 小时前
uni-app 小程序分包限制处理与主包体积优化实战
前端·微信小程序
MariaH16 小时前
初识MySQL
前端
陳陈陳17 小时前
从Token到Embedding:一篇文章搞懂大模型的「文字数学变形记」
前端·javascript·ai编程
十有八七17 小时前
AI时代的置身X内
前端·人工智能
橘子星17 小时前
LLM 无状态架构实践:从原理到代码落地
前端·javascript·人工智能
LiuMingXin17 小时前
意图与代码之间:AI编程范式全景解读
前端·后端·面试