diff --git a/addons/info/src/components/Story.js b/addons/info/src/components/Story.js
index 0716aa6a76a9..a8dc10026c6d 100644
--- a/addons/info/src/components/Story.js
+++ b/addons/info/src/components/Story.js
@@ -358,17 +358,22 @@ class Story extends Component {
extract(innerChildren.props.children);
}
if (isForwardRef(innerChildren)) {
- extract(innerChildren.type.render(innerChildren.props));
+ try {
+ // this might fail because of hooks being used
+ extract(innerChildren.type.render(innerChildren.props));
+ } catch (e) {
+ // do nothing
+ }
}
if (
typeof innerChildren === 'string' ||
typeof innerChildren.type === 'string' ||
- isForwardRef(innerChildren) ||
(Array.isArray(propTablesExclude) && // also ignore excluded types
~propTablesExclude.indexOf(innerChildren.type)) // eslint-disable-line no-bitwise
) {
return;
}
+
if (innerChildren.type && !types.has(innerChildren.type)) {
types.set(innerChildren.type, true);
}
diff --git a/examples/official-storybook/stories/__snapshots__/addon-info.stories.storyshot b/examples/official-storybook/stories/__snapshots__/addon-info.stories.storyshot
index a08a938a0c2f..0f12093915f1 100644
--- a/examples/official-storybook/stories/__snapshots__/addon-info.stories.storyshot
+++ b/examples/official-storybook/stories/__snapshots__/addon-info.stories.storyshot
@@ -555,6 +555,128 @@ exports[`Storyshots Addons|Info/ForwardRef Displays forwarded ref components cor
+
+
+ "Unknown" Component
+
+
+
+
+
+ property
+ |
+
+ propType
+ |
+
+ required
+ |
+
+ default
+ |
+
+ description
+ |
+
+
+
+
+
+ disabled
+ |
+
+
+ bool
+
+ |
+
+ -
+ |
+
+
+ false
+
+ |
+ |
+
+
+
+ label
+ |
+
+
+ string
+
+ |
+
+ yes
+ |
+
+ -
+ |
+ |
+
+
+
+ onClick
+ |
+
+
+ func
+
+ |
+
+ -
+ |
+
+
+ onClick
+
+ |
+ |
+
+
+
+ style
+ |
+
+
+ other
+
+ |
+
+ -
+ |
+
+
+ {}
+
+ |
+ |
+
+
+
+
@@ -791,6 +913,128 @@ exports[`Storyshots Addons|Info/ForwardRef Uses forwardRef displayName if availa
+
+
+ "ButtonDisplayName" Component
+
+
+
+
+
+ property
+ |
+
+ propType
+ |
+
+ required
+ |
+
+ default
+ |
+
+ description
+ |
+
+
+
+
+
+ disabled
+ |
+
+
+ bool
+
+ |
+
+ -
+ |
+
+
+ false
+
+ |
+ |
+
+
+
+ label
+ |
+
+
+ string
+
+ |
+
+ yes
+ |
+
+ -
+ |
+ |
+
+
+
+ onClick
+ |
+
+
+ func
+
+ |
+
+ -
+ |
+
+
+ onClick
+
+ |
+ |
+
+
+
+ style
+ |
+
+
+ other
+
+ |
+
+ -
+ |
+
+
+ {}
+
+ |
+ |
+
+
+
+