跳转到内容

Vue

Vue3为什么要升级proxy?废弃Object.defineProperty?

Object.defineProperty

  1. 对data中每个属性重写getter和setter,新增或删除属性有时无法响应式
  2. 嵌套对象层级多了,需要一层层拦截,初始化慢,开销大

比喻:就像你要监控小区的每户人家,于是你把每家每户的门口都装了摄像头,一栋楼几十层上百户,全都要装; 结果后来又有人搬进来,没摄像头 → 你得补装,还麻烦。

proxy

  1. 在访问对象时,拦截所有操作
  2. 性能更好,按需代理
  3. 可扩展性更强

比喻: 就像你在小区大门口装了一个总闸监控,谁进谁出都能看见,新增的人、老住户、快递小哥,都一视同仁。 你只要盯着大门就能掌握所有动态。

路由守卫

主要是用来做拦截跳转判断是否有跳转权限

  1. 全局前置守卫: 用户在未登录时跳转登录
  2. 全局后置守卫: 跳转成功后记录用户访问日志
  3. 组件路由守卫: 检查用户是否有权限访问该组件

Composition API 与 React Hooks 的区别

调用不需要考虑顺序,可以再循环、条件、嵌套中使用

循环中key的作用

对数组节点的复用,不建议index作为key是因为节点移动会导致所有元素index都变化

Will Try My Best.