Storybook GraphiQL 插件
Storybook GraphQL 插件可用于在Storybook中显示 GraphiQL IDE 以及示例查询。
入门
首先,安装插件
yarn add @storybook/addon-graphql --dev
导入 `setupGraphiQL` 函数并使用它来创建带有基本 URL 的 graphiql 助手。
import { storiesOf } from '@storybook/react'
import { setupGraphiQL } from '@storybook/addon-graphql'
// setup the graphiql helper which can be used with the add method later
const graphiql = setupGraphiQL({ url: 'https://127.0.0.1:3000/graphql' });
storiesOf('GraphQL Demo', module)
.add('get user info', graphiql(`{
user(id: "1") {
name
}
}`));
提示:尝试在另一个文件中创建助手,并从该文件中导入已配置的 graphiql 助手
高级设置
`setupGraphiQL` 函数还接受一个 fetcher 参数,该参数可用于更改 graphiql 获取数据的方式。如果未提供 fetcher 参数,它将创建一个使用 `fetch` api 发出请求的 fetcher。以上示例也可以使用自定义 fetcher 来编写。
import { storiesOf } from '@storybook/react'
import { setupGraphiQL } from '@storybook/addon-graphql'
import { url } from './settings';
const fetcher = params => {
const options = {
method: 'post',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(params),
};
return fetch(url, options).then(res => res.json());
};
// create the helper with a custom fetcher
const graphiql = setupGraphiQL({ fetcher });
storiesOf('GraphQL Demo', module)
.add('get user info', graphiql(`{
user(id: "1") {
name
}
}`));