Open symsmith opened 6 months ago
We could not detect a valid reproduction link. Make sure to follow the bug report template carefully.
To be able to investigate, we need access to a reproduction to identify what triggered the issue. We need a link to a public GitHub repository, Stackblitz or CodeSandbox. The easiest way to create a reproduction is with storybook.new.
The bug template that you filled out has a section called "To reproduce", which is where you should provide the link to the reproduction.
Depending on the reason the issue was closed, you can do the following:
In general, assume that we should not go through a lengthy onboarding process at your company code only to be able to verify an issue.
In most cases, a private repo will not be a sufficient minimal reproduction, as this codebase might contain a lot of unrelated parts that would make our investigation take longer. Please do not make it public. Instead, create a new repository using the templates above, adding the relevant code to reproduce the issue. Common things to look out for:
Anyone experiencing the same issue is welcome to provide a minimal reproduction following the above steps by opening a new issue.
We look into every Storybook issue and constantly monitor open issues for new comments.
However, sometimes we might miss one or two due to the popularity/high traffic of the repository. We apologize, and kindly ask you to refrain from tagging core maintainers, as that will usually not result in increased priority.
Upvoting issues to show your interest will help us prioritize and address them as quickly as possible. That said, every issue is important to us, and if an issue gets closed by accident, we encourage you to open a new one linking to the old issue and we will look into it.
This looks like a deficiency of react-docgen
which is the tool we use to analyze React components by default in 8.0+.
One workaround is to use the much slower, but more accurate react-docgen-typescript
instead but adding the following to .storybook/main.ts
:
export default {
// existing...
typescript: {
reactDocgen: 'react-docgen-typescript',
}
};
I found another workaround, which is to wrap the createPortal
call with a fragment. I still wanted to give notice, because I scratched my head for a while before realizing what was different from my other components/stories.
Basically it looks like the component has to return a React.JSX.Element
for Autodocs to work.
Thats interesting @symsmith and a better workaround (though still annoying). Hopefully we can come up with a better approach to all this soon...
Describe the bug
If a React component returns a portal created by
createPortal
fromreact-dom
, Autodocs doesn’t retrieve the type information or JSDoc comments from the file.To Reproduce
https://stackblitz.com/edit/github-cj2wcx?file=src%2Fstories%2FButtonPortal.tsx
ButtonPortal
is the same component asButton
, but the returned value is wrapped increatePortal
. See the difference betweenButton/Docs
andButtonPortal/Docs
System
But it works the same way on Stackblitz