From: Evan You Date: Sun, 3 Nov 2019 01:33:37 +0000 (-0400) Subject: feat: warn ref usage on functional components X-Git-Tag: v3.0.0-alpha.0~254 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7f054782ad0dde832e22e5cc1fb1186c1340d020;p=thirdparty%2Fvuejs%2Fcore.git feat: warn ref usage on functional components --- diff --git a/packages/runtime-core/src/renderer.ts b/packages/runtime-core/src/renderer.ts index 8f67ce6b4f..3416cccd0e 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) } }