Storybook 가져오기 노트(with React)
삼행
Storybook 소개
배경.
스토리북을 도입하기 전에 위키로 관리하려고 했지만 실패했다.Storybook이 좋다는 말을 듣고 보니 확실히 괜찮은 것 같아서 해 봤어요.
시작 방법
명령을 내리다
Storybook의 첫 페이지에 표시된 대로 아래에서 진행할 수 있습니다.
npm i -g @storybook/cli
cd my-react-app
getstorybook
자신의 프로젝트 디렉터리에 getstorybook 명령을 직접 입력하면storybook을 마음대로 설정할 수 있기 때문에 어떤 문제도 고려할 필요가 없다.덧붙이면 구체적으로 설정 파일 등을 만들어 package.json에 명령을 추가한다.
즉석에서 아래를 치면 서버가 시작됩니다.npm run storybook
구성 요소 설정 getstorybook 시위 행진의 구성 요소가 놓인 상태에서storybook 서버 같은 것이 움직이기 때문에 그 구성 요소를 모방하면 된다.잠깐 놓을게요.
my-react-app/stories/index.stories.jsimport React from 'react';
import { storiesOf } from '@storybook/react';
import { action } from '@storybook/addon-actions';
import { linkTo } from '@storybook/addon-links';
import { Button, Welcome } from '@storybook/react/demo';
import LikeButton from '../app/javascript/components/common/LikeButton';
storiesOf('Welcome', module).add('to Storybook', () => <Welcome showApp={linkTo('Button')} />);
// デモで最初から置かれているやつ
storiesOf('Button(Demo)', module)
.add('with text', () => <Button onClick={action('clicked')}>Hello Button</Button>)
.add('with some emoji', () => <Button onClick={action('clicked')}>😀) 😎😀 👍😎 💯👍</Button>);
// 上のデモを真似て追加
storiesOf('LikeButton', module)
.add('いいね済み, 10いいね', () => {
return (
<LikeButton
liked={true}
likeCount={10}
onLike={() => {} }
onUnlike={() => {} }
/>
);
});
순조롭게 진행되는 것은 느껴지지 않지만 사이드바에 먼저 추가하고 클릭하면 표시된다.
정적 파일 전송
그림이 들어가지 않았기 때문에 CSS가 구성 요소에 없습니다.둘 다 문서에 쓰여 있는 것 같아서 보고 수정할게요.
이미지
명령을 내리다
Storybook의 첫 페이지에 표시된 대로 아래에서 진행할 수 있습니다.
npm i -g @storybook/cli
cd my-react-app
getstorybook
자신의 프로젝트 디렉터리에 getstorybook 명령을 직접 입력하면storybook을 마음대로 설정할 수 있기 때문에 어떤 문제도 고려할 필요가 없다.덧붙이면 구체적으로 설정 파일 등을 만들어 package.json에 명령을 추가한다.즉석에서 아래를 치면 서버가 시작됩니다.
npm run storybook
구성 요소 설정 getstorybook 시위 행진의 구성 요소가 놓인 상태에서storybook 서버 같은 것이 움직이기 때문에 그 구성 요소를 모방하면 된다.잠깐 놓을게요.
my-react-app/stories/index.stories.jsimport React from 'react';
import { storiesOf } from '@storybook/react';
import { action } from '@storybook/addon-actions';
import { linkTo } from '@storybook/addon-links';
import { Button, Welcome } from '@storybook/react/demo';
import LikeButton from '../app/javascript/components/common/LikeButton';
storiesOf('Welcome', module).add('to Storybook', () => <Welcome showApp={linkTo('Button')} />);
// デモで最初から置かれているやつ
storiesOf('Button(Demo)', module)
.add('with text', () => <Button onClick={action('clicked')}>Hello Button</Button>)
.add('with some emoji', () => <Button onClick={action('clicked')}>😀) 😎😀 👍😎 💯👍</Button>);
// 上のデモを真似て追加
storiesOf('LikeButton', module)
.add('いいね済み, 10いいね', () => {
return (
<LikeButton
liked={true}
likeCount={10}
onLike={() => {} }
onUnlike={() => {} }
/>
);
});
순조롭게 진행되는 것은 느껴지지 않지만 사이드바에 먼저 추가하고 클릭하면 표시된다.
정적 파일 전송
그림이 들어가지 않았기 때문에 CSS가 구성 요소에 없습니다.둘 다 문서에 쓰여 있는 것 같아서 보고 수정할게요.
이미지
import React from 'react';
import { storiesOf } from '@storybook/react';
import { action } from '@storybook/addon-actions';
import { linkTo } from '@storybook/addon-links';
import { Button, Welcome } from '@storybook/react/demo';
import LikeButton from '../app/javascript/components/common/LikeButton';
storiesOf('Welcome', module).add('to Storybook', () => <Welcome showApp={linkTo('Button')} />);
// デモで最初から置かれているやつ
storiesOf('Button(Demo)', module)
.add('with text', () => <Button onClick={action('clicked')}>Hello Button</Button>)
.add('with some emoji', () => <Button onClick={action('clicked')}>😀) 😎😀 👍😎 💯👍</Button>);
// 上のデモを真似て追加
storiesOf('LikeButton', module)
.add('いいね済み, 10いいね', () => {
return (
<LikeButton
liked={true}
likeCount={10}
onLike={() => {} }
onUnlike={() => {} }
/>
);
});
그림이 들어가지 않았기 때문에 CSS가 구성 요소에 없습니다.둘 다 문서에 쓰여 있는 것 같아서 보고 수정할게요.
이미지
./public의 느낌이므로 위에서 설명한 대로 package.json를 다음과 같이 수정하면 됩니다.package.json
- start-storybook -p 6006
+ start-storybook -s ./public -p 6006
다시npm run storybook 잘 나왔어요.
CSS
다음은 CSS.구성 요소에서 스타일이 닫혔으면 좋겠지만 Bootstrap3과 같은 CSS 프레임워크가 디자인을 실현했다면 그 CSS를 맞혀야 합니다.
Add Custom Head Tags에 적힌 바와 같이
preview-head.html 이 파일로 헤드 탭에 HTML을 추가하면 됩니다.이번에는 CSS 다운로드이기 때문에 Bootstrap과 다양한 스타일application.css이 있다면 링크 라벨로 그걸 읽으면 OK..storybook/preview-head.html
<link rel="stylesheet" media="all" href="/assets/application.css" />
의도대로 스타일을 반영했다.
총결산
만약 이 요점에 따라 구성 요소를 배열한다면, "사용할 수 있는 구성 요소가 있습니까?"라고 대충 확인할 수 있지 않습니까?또 다른 할 수 있는 일이 있는 것 같아서 더듬으면서 여기서 추모하고 싶어요.
Reference
이 문제에 관하여(Storybook 가져오기 노트(with React)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/gaaamii/items/d2e3d7769719a5973261
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Storybook 가져오기 노트(with React)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/gaaamii/items/d2e3d7769719a5973261텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)