-
-
Notifications
You must be signed in to change notification settings - Fork 2k
displayName set on forwardRef is not honored #1810
Description
Describe the bug
In styled-components v4 beta we started decorating the forwardRef wrapper with displayName and various other statics to reduce the amount of interim component layers during rendering and preserve various library behaviors. https://github.com/styled-components/styled-components/blob/30c372cf635e0db77f74c0aaacf60deda729581c/src/models/StyledComponent.js#L249-L311
However, it doesn't seem like enzyme surfaces a displayName set on a forwardRef component.
To Reproduce
See this codesandbox: https://codesandbox.io/s/yv7l2p76q9
Expected behavior
The test expectations should work since name and displayName are set on the forwardRef node.
It would be really great if this could work for a few reasons:
-
Shallow rendering does not currently render the immediate child of ForwardRef, so if we modified our library so the wrapped child of ForwardRef had all the statics etc it still wouldn't work without diving
-
The components don't show up at all when using "find" off of "mount" since ForwardRef isn't honoring displayName
Sidebar: I really wish ref forwarding was implemented as a decorator or class mixin... sigh.