Adding Decorators (And Store) To Storybook
We’ve been using Storybook to build and refine React components.
As we blur the boundary between the tool and our application (for example, importing an application component into a Storybook component) the workflow becomes complicated by dependencies like Redux. Storybook suddenly needs to know about the store
.
There are multiple ways to handle this; the first is importing store
at the top of you Storybook component hierarchy, then passing it as a prop all the way to the Redux-aware component.
A second is Storybook’s addDecorator
function. With it, we can wrap the added component in Provider
with store
, allowing connect()
calls to Redux:
storiesOf(‘My Components’, module)
.addDecorator(getStory => <Provider store={store}>{getStory()}</Provider>)
.add(‘Redux Aware Component’, () => <ReduxAwareComponent />);
Now we have a Redux-connected component in Storybook.
Tweet