MCPcopy Index your code
hub / github.com/ygs-code/vue / checkDuplicateKeys

Function checkDuplicateKeys

vue.js:8641–8659  ·  view source on GitHub ↗
(children)

Source from the content-addressed store, hash-verified

8639
8640 //检测key是否有重复
8641 function checkDuplicateKeys(children) {
8642 var seenKeys = {};
8643 for (var i = 0; i < children.length; i++) { //循环子节点
8644 var vnode = children[i]; //获取子节点
8645 var key = vnode.key; //获取子节点的key
8646 if (isDef(key)) { //判断key是否有定义过
8647 if (seenKeys[key]) { //如果定义过则发出警告
8648 warn(
8649 //检测到重复键:“+ key +”。这可能会导致更新错误。
8650 ("Duplicate keys detected: '" + key + "'. This may cause an update error."),
8651 vnode.context
8652 );
8653 } else {
8654 //标志key 状态是 true
8655 seenKeys[key] = true;
8656 }
8657 }
8658 }
8659 }
8660
8661 // 查找旧的vnode key
8662 function findIdxInOld(node, oldCh, start, end) {

Callers 2

createChildrenFunction · 0.85
updateChildrenFunction · 0.85

Calls 1

isDefFunction · 0.85

Tested by

no test coverage detected