不要直接修改props传过来的指
vue3组件中的模板结构可以没有跟标签
Vue3响应式原理(proxy代理,reflect反射)
通过Proxy (代理)︰拦截对象中任意属性的变化,包括:属性值的读写、属性的添加、属性的删除等。
通过Reflect(反射)︰对源对象的属性进行操作。
5.reactive对比ref
5.1从定义数据角度对比:
ref用来定义:基本类型数据
reactive用来定义:对象(或数组)类型数据。
备注: ref他可以用来定义对象(或数组)类型数据,它内部会自动通过reactive转为代理对象。
5.2从原理角度对比:
ref通过 object.defineProperty()的get与set来实现响应式(数据劫持)。
reactive通过使用Proxy来实现响应式(数据劫持),并通过Reflect操作源对象内部的数据。
5.3从使用角度对比:
ref定义的数据:操作数据需要.value,读取数据时模板中直接读取不需要.value。
reactive定义的数据:操作数据与读取数据:均不需要.value。