// 全局状态const targetMap = new WeakMap();let activeEffect = null;// 读取时收集function track(target, key) { if (!activeEffect) return; let depsMap = targetMap.get(target); if (!depsMap) targetMap.set(target, depsMap = new Map()); let dep = depsMap.get(key); if (!dep) depsMap.set(key, dep = new Set()); dep.add(activeEffect); // 组件订阅此属性}// 修改时触发function trigger(target, key) { const depsMap = targetMap.get(target); if (!depsMap) return; depsMap.get(key)?.forEach(effect => effect());}