Skip to content

Commit 5e273d1

Browse files
committed
chore(rendererTemplateRef): added dev warning for duplicated ref
1 parent 161939a commit 5e273d1

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

packages/runtime-core/src/rendererTemplateRef.ts

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,19 @@ export function setRef(
115115
} else {
116116
if (!isArray(existing)) {
117117
if (_isString) {
118-
if (oldRef !== ref) {
119-
refs[ref] = [refValue]
120-
if (canSetSetupRef(ref)) {
121-
setupState[ref] = refs[ref]
118+
if (oldRef === ref) {
119+
if (__DEV__ && !__TEST__) {
120+
warn(
121+
'Duplicate template ref detected:',
122+
ref,
123+
`(${typeof ref}). Ref names must be unique within the same scope.`,
124+
)
122125
}
126+
return
127+
}
128+
refs[ref] = [refValue]
129+
if (canSetSetupRef(ref)) {
130+
setupState[ref] = refs[ref]
123131
}
124132
} else {
125133
ref.value = [refValue]
@@ -130,11 +138,19 @@ export function setRef(
130138
}
131139
}
132140
} else if (_isString) {
133-
if (oldRef !== ref) {
134-
refs[ref] = value
135-
if (canSetSetupRef(ref)) {
136-
setupState[ref] = value
141+
if (oldRef === ref) {
142+
if (__DEV__ && !__TEST__) {
143+
warn(
144+
'Duplicate template ref detected:',
145+
ref,
146+
`(${typeof ref}). Ref names must be unique within the same scope.`,
147+
)
137148
}
149+
return
150+
}
151+
refs[ref] = value
152+
if (canSetSetupRef(ref)) {
153+
setupState[ref] = value
138154
}
139155
} else if (_isRef) {
140156
ref.value = value

0 commit comments

Comments
 (0)