mirror of
https://github.com/storybookjs/storybook.git
synced 2025-04-05 02:41:08 +08:00
94 lines
2.2 KiB
Markdown
94 lines
2.2 KiB
Markdown
# Storybook Addon Events
|
|
|
|
This [storybook](https://storybooks.js.org) ([source](https://github.com/storybookjs/storybook)) addon allows you to add events for your stories.
|
|
|
|
[Framework Support](https://github.com/storybookjs/storybook/blob/master/ADDONS_SUPPORT.md)
|
|
|
|
[Storybook Addon Events Live Demo](https://z4o4z.github.io/storybook-addon-events/index.html)
|
|
|
|
### Getting Started
|
|
|
|
```sh
|
|
npm i --save-dev @storybook/addon-events
|
|
```
|
|
|
|
Then create a file called `addons.js` in your storybook config.
|
|
|
|
Add following content to it:
|
|
|
|
```js
|
|
import '@storybook/addon-actions/register';
|
|
import '@storybook/addon-links/register';
|
|
import '@storybook/addon-events/register';
|
|
```
|
|
|
|
Then write your stories like this:
|
|
|
|
```js
|
|
import { storiesOf } from '@storybook/react';
|
|
import withEvents from '@storybook/addon-events';
|
|
import EventEmiter from 'event-emiter';
|
|
|
|
import Logger from './Logger';
|
|
import * as EVENTS from './events';
|
|
|
|
const emiter = new EventEmiter();
|
|
const emit = emiter.emit.bind(emiter);
|
|
|
|
|
|
storiesOf('WithEvents', module)
|
|
.addDecorator(
|
|
withEvents({
|
|
emit,
|
|
events: [
|
|
{
|
|
name: EVENTS.TEST_EVENT_1,
|
|
title: 'Test event 1',
|
|
payload: 0,
|
|
},
|
|
{
|
|
name: EVENTS.TEST_EVENT_2,
|
|
title: 'Test event 2',
|
|
payload: 'asdasdad asdasdasd',
|
|
},
|
|
{
|
|
name: EVENTS.TEST_EVENT_3,
|
|
title: 'Test event 3',
|
|
payload: {
|
|
string: 'value',
|
|
number: 123,
|
|
array: [1, 2, 3],
|
|
object: {
|
|
string: 'value',
|
|
number: 123,
|
|
array: [1, 2, 3],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: EVENTS.TEST_EVENT_4,
|
|
title: 'Test event 4',
|
|
payload: [
|
|
{
|
|
string: 'value',
|
|
number: 123,
|
|
array: [1, 2, 3],
|
|
},
|
|
{
|
|
string: 'value',
|
|
number: 123,
|
|
array: [1, 2, 3],
|
|
},
|
|
{
|
|
string: 'value',
|
|
number: 123,
|
|
array: [1, 2, 3],
|
|
},
|
|
],
|
|
},
|
|
]
|
|
})
|
|
)
|
|
.add('Logger', () => <Logger emiter={emiter} />);
|
|
```
|