Fix for the "Storybook preview hooks can only be called inside decorators and story functions." error #279
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context for a bug:
I'm using a custom decorator to set the
data-theme
attribute in thehtml
element:When I add an interactivity to one of my components using hooks from
@storybook/preview-api
, for example theuseArgs
:The bug:
Everything works properly until I switch the theme. When I switch it I'm getting an error
Storybook preview hooks can only be called inside decorators and story functions.
. I need to refresh the page to see the component with styles applied from the other theme. Looks like Storybook doesn't allow to use hooks from@storybook/preview-api
when the story is nested into another component that use hooks imported directly fromreact
I've tested the fix on my project. Seems to fix the issue, as now I can switch themes and the components works without throwing any errors.
Versions:
Storybook: 8.0.8
storybook-dark-mode: 4.0.1