React && Vue

React和Vue概念性问题总结

Vue相关

  • Vue 实例创建销毁的过程,就是生命周期.
  • created 表示完成组件数据、属性等的初始化,此时组件的DOM结构还没有创造出来
  • 组件DOM结构的创建在mounted中已经完成了
  • Vue3对比Vue2性能上优化很多, 为了支持IE11, Vue3发布了一个支持旧观察者机制和新Proxy的构建(最新版vue已不再支持ie11)
  • Vue3新增了 Composition API, 会兼容之前的写法, 是可选的
  • Vue3 更好的ts支持, Vue3用ts重写的, 而且许多软件包将被解耦,使其更加模块化
  • Vue3 中新增的setup(),会在beforeCreate之前执行
  • 在Vue3中,v-model默认是modelValue prop的传递以及update:modelValue事件的展开
  • Vue3是通过createApp创建实例的

React相关

  • React中某个元素的key可以确定其在同级元素中具有唯一性.
  • setState可以是同步,也可以是异步(在合成时间和钩子函数中是异步, 在原生事件和setTimeout中是同步的)
  • React中refs 使我们可以访问DOM元素或者组件实例
  • React组件中常见的形式有函数和类两种形式.
  • React中函数式组件可以通过hooks达到类式组件生命周期函数的效果
  • React废除了componentWillMount这个生命周期

相关

  • Vue和React都是javascript库
  • Vue和React都使用虚拟DOM
  • Vue和React项目中都可以使用JSX
  • JSX是一种JavaScript的语法扩展
  • React中的JSX是React.createElement(component, props,…,children)函数的语法糖
  • 在Vue中不可以直接使用JSX语法, 需要安装插件
    @vue/babel-preset-jsx
    @vue/babel-helper-vue-jsx-merge-props
    
  • React中不强制使用JSX
  • React17版本中,使用JSX不用再导入React库
  • Vue3中新增的setup()函数,不要再setup()函数中使用this (没有this, undefined)
  • Vue中data必须是函数(对象地址问题)

    Vue组件可能存在多个实例,如果使用对象形式定义data, 则会导致他们公用一个data对象,那么状态的变更将会影响所有组件实例,这是不合理的.所以采用函数定义的形式, 在源码部分 ==/src/core/instance/state/js - initData()==时会返回全新的data对象,有效的避免多实例之间状态污染问题. 而在vue根实例创建过程则不存在该限制,也是因为根实例只能有一个,无需担心这种情况

  • React中类组件必不可少的一个函数式render
  • createElement 函数式JSX编译之后使用的创建React Element的函数, 而cloneElement则是用于赋值某个元素并传入新的props

Vite

  • Vite是一种新型的前端构建工具, 它可以显著改善前端的开发体验
  • vite支持旧浏览器
  • Vite具有了快速冷启动.按需编译.模块热更新等优良特质
  • Vite支持JSON、SASS、TS、组件库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值