问题一:老师,这个updateChildren里一开始会通过开始结束的顺序往里递进一个一个通过sameVnode方法对比新旧node的key和sel是否一致。如果有例外了话(我这里就是理解成sameVnode返回了false,也就是Key和sel其中之一或者两者都对应不上)。那么就会走进拿新的key去和所有的旧key进行对比,然后如果对应上了就再去比较sel,sel没对应就直接插入新的。可是如果对应上了sel,就是这里,为什么会有这种情况?如果对应上了sel那么不就是key和sel都相等吗,那这种情况的新node应该已经在前面通过sameVnode返回true了然后执行递归patchVnode了,为啥这里还要判断这种情况?
之前的指针前后推进对比会有落下的,没对比过的组合吗?如果有,那我就能理解了,如果没有我就不理解了。。。
问题二:为啥要用patchVnode而不是用patch去更新,因为patchVnode不会去判断新旧节点是否有text和children或者是空的的情况,但patch会,用patch会不会好点,能应对更多种情况