React Storybook 시작하기: 구성 요소 카탈로그가 바삭바삭하고 스타일리시한 샌드박스 환경이 될 수 있음
9632 단어 Reactreact-storybook
React Storybook의 특징은
샌드박스에서 렌더링을 위해 실제 React Component를 호출합니다.따라서 구성 요소의 다양한 상태 (0개 혹은 새로 도착한 것) 도 코드 디렉터리화 가능성이 매우 적다.또한 action API를 사용하여 어셈블리의 이벤트를 캡처하여 로그에 재생할 수도 있습니다.
컨디션 있는 스타일 매뉴얼은 유지 보수가 까다롭고, 이걸 쓰면 혁신적이잖아요...
iframe
샌드박스에서 구성 요소 분리Redux
,Relay
,Meteor
등도 사용 가능npm
및 babel
등 어플리케이션 환경을 사용할 수 있음사용자 정의
Webpack
또는 플러그인을 추가하여 확장 가능데모를 더듬다
git clone https://github.com/kadira-samples/react-storybook-demo
npm install
npm run storybook
이것은 Redux
에 구현된 TODO 애플리케이션의 데모입니다.React Storybook이 순조롭게 시작되면
http://localhost:9001
방문하십시오.설치하다.
그럼 실제 자신의 React 프로젝트에 설치해 보세요.
설치
@kadira/storybook
package.json
에 실행 스크립트 추가npm i --save-dev @kadira/storybook
npm i --save-dev babel-core babel-loader babel-preset-es2015 babel-preset-react babel-preset-stage-2 react react-dom stack-source-map webpack webpack-hot-middleware
package.json{
...
"scripts": {
"storybook": "start-storybook -p 9001"
}
...
}
시용하다
이야기 만들기(components/storiies/story.js)
일단 스토리부터.
어디서든 만들 수 있지만 기본적으로 구성 요소와 1:1로 대응하기 때문에
components/stories/
같은 폴더를 만들어 넣는 것을 추천합니다.샘플 문서에서 두 가지 버튼이 등록된 스토리를 만들죠.
components/stories/button.js
import React from 'react';
import { storiesOf, action } from '@kadira/storybook';
storiesOf('Button', module)
.add('with a text', () => (
<button>My First Button</button>
))
.add('with no text', () => (
<button></button>
));
storiesOf
에서 지정한 것은 구성 요소입니다.추가 검사 후.add()
모듈의 상태를 추가합니다.예를 들어
validateField
이 구성 요소에 대해'입력하지 않음''not valid''valid'세 가지.add()
의 느낌.Story 읽기(.storybook/config.js)
이렇게 하면
.storybook/config.js
가 시작된다고 하니 문서를 참고하세요..storybook/config.js
import { configure } from '@kadira/storybook';
import 'css/style.css';
function loadStories() {
require('../components/stories/button');
}
configure(loadStories, module);
loadStories()
방금 제작한 이야기를 도입한다.만약 많은 구성 요소가 있다면, 배열할 수도 있고, 문서에 폴더를 모아서 등록하는 방법을 쓸 수도 있다.스타일시트를 설정하려면
import
가능하지만 React에는 다양한 CSS의 유파가 있으니 자세한 내용은 문서 읽어주세요.부팅
npm run storybook
드디어 준비가 됐습니다.액세스
http://localhost:9001
가 가능하고 왼쪽button
에 표시되면 OK이벤트 캡처(action()
스토리북에는 구성 요소 이벤트를 포착하는 기능도 탑재됐다.방금의
button.js
를 다음과 같은 내용으로 고쳐 쓰시오.components/stories/button.js
import React from 'react';
import { storiesOf, action } from '@kadira/storybook';
storiesOf('Button', module)
.add('with a text', () => (
<button onClick={action('click')}>My First Button</button>
))
.add('with no text', () => (
<button></button>
));
텍스트가 첨부된 버튼을 누르면 아래 "ACTION LOGGER"에서 (위) 스트림을 기록할 수 있을 것 같습니다.직접 만든 구성 요소를 이야기에 로그인
버튼의 샘플에는 자체 제작된 구성 요소가 설치되어 있지 않지만, 일반적인 경우
import
문자로 읽고, 이 이야기 .add()
를 사용하면 됩니다.샘플의 토도 앱에는 4개의 사연이 있는데 사연마다 각자의 특징이 있으니 참고할 수 있을 것 같습니다.엔지니어와 디자이너의 소통 개선에 도움이 되겠죠?
순조롭게 진행될 수 있을지 모르겠지만 다음은'그건 없어!'이걸 알려주는 걸 깜빡한 예감이 든다.
마지막으로 문서에'이렇게 하면 잘 될 거야'라는 만트라가 있으니 미리 의역해 두자.
props
로 데이터를 전달한다.간편한 분할components
폴더 중 최적Meteor
를 사용할 때는 스토리를 tests
폴더에 설정하거나 .stories
storiesOf('core.Button', module)
actions()
Reference
이 문제에 관하여(React Storybook 시작하기: 구성 요소 카탈로그가 바삭바삭하고 스타일리시한 샌드박스 환경이 될 수 있음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/beijaflor/items/4fc01f8d557c1926c38d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)