react对比vue的核心属性

Vue 常用的核心属性可以分为以下几类,并与 React 实现方式对比:

1. 核心属性

复制代码
// Vue 选项式 API 常用属性
export default {
  props: {},       // 类似 React 的 props
  data() { return {} }, // 类似 React 的 useState
  computed: {},    // 类似 React 的 useMemo
  methods: {},     // 类似 React 的函数声明
  watch: {},       // 类似 React 的 useEffect + 依赖项
  // 生命周期钩子
  created() {},    // 类似 React 的 useEffect(() => {}, [])
  mounted() {},    // 类似 React 的 useEffect(() => {}, [])
}

2. 生命周期对比

复制代码
// Vue 生命周期          |  React 等效实现
//----------------------------------------------
beforeCreate() {}   => 无直接等效(可在自定义 Hook 中实现)
created() {}        => useEffect(() => {}, [])
beforeMount() {}    => useLayoutEffect(() => {}, [])
mounted() {}        => useEffect(() => {}, [])
beforeUpdate() {}   => useLayoutEffect(() => {})
updated() {}        => useEffect(() => {})
beforeUnmount() {}  => useEffect(() => () => {})
unmounted() {}      => useEffect(() => () => {})

3. 模板指令对应关系

复制代码
<!-- Vue 模板指令 -->      | <!-- React 实现 -->
<组件 v-model="data"/>  => <组件 value={data} onChange={handleChange}>
<div v-if="show">       => {show && <div>}
<div v-for="item in list"> => {list.map(item => <div key={id}>)}
<div :class="{active}"> => <div className={`${active ? 'active' : ''}`}>
<div @click="handler"> => <div onClick={handler}>

4. 组合式 API 对比

复制代码
// Vue 3 组合式 API        |  React Hooks
//----------------------------------------------
const num = ref(0)       => const [num, setNum] = useState(0)
const double = computed()=> const double = useMemo()
watch(num, () => {})     => useEffect(() => {}, [num])
onMounted(() => {})      => useEffect(() => {}, [])
相关推荐
San813_LDD4 小时前
[C语言]《Dev-C++ 报错解决手册(Day0607 精华版)》
java·前端·javascript
梦梦代码精12 小时前
2026年PHP开源商城系统实测对比:架构、多商户、商用授权,谁才是真·省心?
vue.js·docker·架构·开源·代码规范
threelab13 小时前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
武器大师7213 小时前
lv_binding_js 代码解读
开发语言·javascript·ecmascript
圣殿骑士-Khtangc13 小时前
单智能体落地实战:从 ReAct 到 Production-Ready AI Agent 全链路解析
人工智能·react.js
Patrick_Wilson14 小时前
router.replace 之后紧跟 reload,页面为什么无限刷新?
javascript·react.js·浏览器
mONESY15 小时前
JavaScript 栈、队列、数组与链表核心知识点总结
javascript·面试
ZengLiangYi15 小时前
TypeScript 项目配置:tsconfig、ESM、路径别名
javascript·typescript·aigc
晓131316 小时前
【Cocos Creator 3.x】篇——第二章 入门
前端·javascript·游戏引擎
想要成为糕糕手16 小时前
前端必修课:JavaScript 数组与数据结构底层逻辑全解析
javascript·数据结构·面试