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(() => {}, [])
相关推荐
互联网搬砖老肖3 小时前
Selenium2+Python自动化:利用JS解决click失效问题
javascript·python·自动化
pink大呲花4 小时前
使用 Axios 进行 API 请求与接口封装:打造高效稳定的前端数据交互
前端·vue.js·交互
samuel9184 小时前
uniapp通过uni.addInterceptor实现路由拦截
前端·javascript·uni-app
泯泷4 小时前
JavaScript随机数生成技术实践 | 为什么Math.random不是安全的随机算法?
前端·javascript·安全
八了个戒5 小时前
「数据可视化 D3系列」入门第八章:动画效果详解(让图表动起来)
开发语言·前端·javascript·数据可视化
八了个戒5 小时前
「数据可视化 D3系列」入门第九章:交互式操作详解
javascript·信息可视化·数据可视化·d3
拉不动的猪6 小时前
无缝适配 PC 和移动端‌我们要注意哪些点呢
前端·javascript·面试
爱看书的小沐7 小时前
【小沐杂货铺】基于Three.JS绘制卫星轨迹Satellite(GIS 、WebGL、vue、react,提供全部源代码)
javascript·vue.js·webgl·three.js·卫星轨道·地球earth·satellite
五月仲夏8 小时前
React基础知识(补充中)
前端·react.js·前端框架
王富贵的记录8 小时前
React 函数组件和类组件的区别
前端·javascript·react.js