interview vue3
Vue3 比 vue2 有什么优势
描述vue3生命周期
如何看待composition API 和 Options API
如何理解 ref toRef toRefs
Vue3 升级哪些重要功能
createApp
- use 等原来需要用Vue来调用,现在使用app实例
emits 属性
生命周期
多事件
- 可以给事件绑定多个会掉,用逗号隔开
fragment
- template 不再 需要包裹单一父节点
移除.sync
移除异步组件的写法
- Vue2 直接通过函数返回import(‘’componentPath.vue)
- Vue3 需要使用defineAsyncComponent 来包裹vue2 的写法
基础filter
Teleport
Suspense
Composition API
- reactive ref相关函数 readonly watch watchEffect setup 生命周期钩子
Composition API 如何实现代码逻辑复用
Vue3 如何实现响应式
watch watchEffect 区别是什么
- watch 需要指定要监听的数据
- 默认初始化不会执行
- watchEffect 会自动去收集监听用到的值
- 默认初始化时会执行
- watch 需要指定要监听的数据
setup 中如何获取组件实例
Vue3 为什么比vue2 快
- proxy响应式
- 不必递归到底,用到才回去生成响应式
- patchFlag
- 模版编译时,动态节点做标记
- 标记,分为不同的类型,如 TEXT PROPS
- diff 算法时, 可以区分静态节点,以及不同类型的动态节点
- hoistStatic
- 将静态节点的定义,提升到父作用域,缓存起来
- 多个相邻的静态节点,会被合并起来
- 典型的拿空间换时间的优化策略
- cacheHandler
- 缓存事件处理函数
- SSR 优化
- 静态节点直接输出,绕过了vdom
- tree-shaking
- 编译时,会根据不同的情况,引入不同API, 需要什么就引入什么
- proxy响应式
vite 是什么
- 一个前端打包工具, vue 作者发起的项目
- 优势: 开发环境无需打包,启动快
- 开发环境使用 ES Module (ES6 支持原生的模块化),无需打包 – 所以非常快
- 生产环境用 rollup ,并不会快很多
composition API 和 React Hooks 的区别
- composition API
- setup 只会被调用一次(算beforeCreate、created合成的效果)
- 无需 useMemo uesCallback 来优化 setup只会执行一次
- 无需考虑调用顺序
- reactive+ref 比较难以理解
- React Hooks
- Hooks 默认会多次调用,需要手动指定依赖项
- 需要手动将变量,函数用 useMemo uesCallback 包裹来优化
- 需要报错hooks的顺序一致
- useState 很容易理解
- composition API
为什么需要ref
- 返回值类型,会丢失响应式
- 如在setup computed 合成函数中,都有肯返回值类型
- vue 如果不定义ref,用户将自己造一个,反而混乱
为什么需要xxxRef.value
ref是一个对象(对象可以保持响应式-因为是引用拷贝) , value存储值
通过.value属性的get和set实现响应式
注意: 用于模版、reactive时,不需要.value vue框架会自动取帮你取 ; 只有自己在操作时才需要
为什么要toRef toRefs
- 初衷: 不丢失响应式的前提下,将变量进行分解/扩散
- 注意: 不是在创造响应式,而是在延续响应式
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 jiujue!
评论