From 7f054782ad0dde832e22e5cc1fb1186c1340d020 Mon Sep 17 00:00:00 2001 From: Evan You Date: Sat, 2 Nov 2019 21:33:37 -0400 Subject: [PATCH] feat: warn ref usage on functional components --- packages/runtime-core/src/renderer.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/runtime-core/src/renderer.ts b/packages/runtime-core/src/renderer.ts index 8f67ce6b..3416cccd 100644 --- a/packages/runtime-core/src/renderer.ts +++ b/packages/runtime-core/src/renderer.ts @@ -804,6 +804,14 @@ export function createRenderer< } } if (n2.ref !== null && parentComponent !== null) { + if (__DEV__ && !(n2.shapeFlag & ShapeFlags.STATEFUL_COMPONENT)) { + pushWarningContext(n2) + warn( + `Functional components do not support "ref" because they do not ` + + `have instances.` + ) + popWarningContext() + } setRef(n2.ref, n1 && n1.ref, parentComponent, n2.component!.renderProxy) } }