xiexuan-star

Results 6 issues of xiexuan-star

```javascript // 由于前文中对嵌套effect的处理 let parent: ReactiveEffect | null = activeEffect; while (parent) { if (parent === this) { return; } parent = parent.parent; } // 此处运行代码,并不会导致栈溢出 effect(()=>{ arr.push(1) }) effect(()=>{...

noop-case
已在六印中修复

```javascript function reactive(obj){ /* * 创建proxy应在判断existionProxy之后 */ const proxy = createReactive(obj); const existionProxy = reactiveMap.get(obj); // ... } ```

已确认
已在六印中修复

```javascript // reactivity/src/baseHandlers.ts // createSetter函数 if (!shallow && !isReadonly(value)) { /* * 源码中,此处为何当值为shallowReactive时不需要考虑数据污染? * 按照书中的描述,任何响应式数据都不应当被设置到原始数据中 */ if (!isShallow(value)) { value = toRaw(value) oldValue = toRaw(oldValue) } if (!isArray(target) && isRef(oldValue)...

noop-case
已在六印中修复

```javascript // 该页顶部 effect(()=>{ // 此处遗漏value属性 console.log(newObj.foo) // 正确应为 console.log(newObj.foo.value) }) ```

已确认
已在六印中修复

```javascript if (!instance.isMounted) { beforeMount && beforeMount.call(state); patch(null, subTree, container, anchor); // 此处漏掉了将el挂载至vnode中的操作,el用于之后的unmount和diff initialVNode.el = subTree.el; instance.isMounted = true; mounted && queueJob(mounted.bind(state)); } ```

noop-case
已在六印中修复

由于effect防循环调用的机制,effect中直接执行mounted,如果在其中修改了state中的值,effect函数不会重新执行

noop-case
已在六印中修复