Open changzhiwin opened 5 years ago
1,更新 Fragment里面,
NO_CHILDREN
时直接nextVNode.el = prevVNode.el
是不对的,因为prevVNode.childFlags
也有三种情况,当prevVNode.childFlags
也是NO_CHILDREN
才能直接赋值switch (nextVNode.childFlags) { case ChildrenFlags.SINGLE_VNODE: nextVNode.el = nextVNode.children.el break case ChildrenFlags.NO_CHILDREN: nextVNode.el = prevVNode.el // 这句有问题 break default: nextVNode.el = nextVNode.children[0].el }
2,更新 Portal里面,直接传的
container
是prevVNode.tag
也是不严格的,因为有是string
的情况patchPortal (prevVNode, nextVNode){ patchChildren( prevVNode.childFlags, nextVNode.childFlags, prevVNode.children, nextVNode.children, prevVNode.tag // 这句有问题 )
我看到Fragment中也发现了这个问题,好像确实是有点问题的获取引用时,不知道楼主是否补丁了这个问题?
1,更新 Fragment里面,
NO_CHILDREN
时直接nextVNode.el = prevVNode.el
是不对的,因为prevVNode.childFlags
也有三种情况,当prevVNode.childFlags
也是NO_CHILDREN
才能直接赋值2,更新 Portal里面,直接传的
container
是prevVNode.tag
也是不严格的,因为有是string
的情况