Storybook: ์Šคํ† ๋ฆฌ ๋ถ (์• ๋“œ์˜จ ์ •๋ณด ํฌํ•จ) + ์Šคํƒ€์ผ ๊ตฌ์„ฑ ์š”์†Œ

์— ๋งŒ๋“  2017๋…„ 06์›” 29์ผ  ยท  2์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: storybookjs/storybook

์•ผ,

์›น React ์•ฑ์—์„œ ์Šคํ† ๋ฆฌ ๋ถ (์ •๋ณด ์• ๋“œ์˜จ ํฌํ•จ)์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ์•ฑ์—์„œ ์Šคํƒ€์ผ ๊ตฌ์„ฑ ์š”์†Œ (https://www.styled-components.com/)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๋‚ด๊ฐ€์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

__LayoutHeader.js__

import styled from 'styled-components';

const LayoutHeader = styled.div`
  color: #fff;
  background-color: #000;
`;

export default LayoutHeader;

__LayoutHeader.story.js__

import { storiesOf } from '@storybook/react';
import React from 'react';

import LayoutHeader from './LayoutHeader';

storiesOf('LayoutHeader', module)
.addWithInfo('with text', () => (
  <LayoutHeader>Simple text</LayoutHeader>
));

๋ฌธ์ œ๋Š” ์Šคํ† ๋ฆฌ ๋ถ ์ •๋ณด ์ถœ๋ ฅ์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

download

์ด ๊ฐ™์€ ์ด์•ผ๊ธฐ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ๋ Œ๋”๋ง ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์–ด๋–ป๊ฒŒ ๋“  ์ด์•ผ๊ธฐ๋ฅผ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ <LayoutHeader /> ๋Œ€์‹  <styled.div /> ?

info compatibility with other tools question / support

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

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์งˆ๋ฌธ์ด ๋„ˆ๋ฌด ์„ฑ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ์ฑ…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

__LayoutHeader.js__

import styled from 'styled-components';

const LayoutHeader = styled.div`
  color: #fff;
  background-color: #000;
`;

LayoutHeader.displayName = 'LayoutHeader';
export default LayoutHeader;

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

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์งˆ๋ฌธ์ด ๋„ˆ๋ฌด ์„ฑ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ์ฑ…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

__LayoutHeader.js__

import styled from 'styled-components';

const LayoutHeader = styled.div`
  color: #fff;
  background-color: #000;
`;

LayoutHeader.displayName = 'LayoutHeader';
export default LayoutHeader;

@michaltaberski ์‚ฌ๋ก€๋ฅผ ๊ณต์œ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!
์•„๋งˆ๋„ ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์œ ์šฉ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค!
๋‹ซ์„ ์ˆ˜์žˆ์„ ๊ฒƒ ๊ฐ™์•„์š”.

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