Storybook: ๋‹ค๋ฅธ ์Šคํ† ๋ฆฌ๋กœ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์„ ๊ตฌ์„ฑํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2016๋…„ 04์›” 05์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: storybookjs/storybook

Invision, Framer.js ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์—…์ด ๋‹ค๋ฅธ ์Šคํ† ๋ฆฌ๋กœ์˜ ์ „ํ™˜์„ ํŠธ๋ฆฌ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด "์ผœ๊ธฐ"์™€ "๋„๊ธฐ"์˜ ๋‘ ๊ฐ€์ง€ ์ƒํƒœ๋ฅผ ๊ฐ€์ง„ "ํ† ๊ธ€" ์œ„์ ฏ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ ์Šคํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ž‘์—…์„ ์„ค์ •ํ•˜์—ฌ ์‹ค์ œ๋กœ ๋ฐœ์ƒํ•˜๋Š” ํ† ๊ธ€์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

storiesOf('Toggle', module)
  .add('on', () => {
    return <Toggle value={true} onChange={action('onChange', 'off')} />
  })
  .add('off', () => {
    return <Toggle value={false} onChange={action('onChange', 'on')} />
  });
feature request

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

import { linkTo } from @kadira/storybook

storiesOf('Toggle', module)
  .add('on', () => {
    return <Toggle value={true} onChange={linkTo('Toggle', 'off')} />
  })
  .add('off', () => {
    return <Toggle value={false} onChange={linkTo('Toggle', 'on')} />
  });

๋‚˜๋Š” ์ด API๊ฐ€ ํ›Œ๋ฅญํ•ด ๋ณด์ธ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

์™€. ๋ฉ‹์ง„ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

import { linkTo } from @kadira/storybook

storiesOf('Toggle', module)
  .add('on', () => {
    return <Toggle value={true} onChange={linkTo('Toggle', 'off')} />
  })
  .add('off', () => {
    return <Toggle value={false} onChange={linkTo('Toggle', 'on')} />
  });

๋‚˜๋Š” ์ด API๊ฐ€ ํ›Œ๋ฅญํ•ด ๋ณด์ธ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

@jeef3 ์˜ PR #86 ๋•๋ถ„์— ์ด์ œ ์Šคํ† ๋ฆฌ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.
v1.8.0 ์™€ ํ•จ๊ป˜ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰