简体   繁体   English

如何在 Storybook 6.0.0 中显示道具类型表

[英]How to display props type table in storybook 6.0.0

I'm creating ui-library for project (using Emotion), I added storybook with docs addon and I seems that storybook don't see props for styled component.我正在为项目创建 ui-library(使用 Emotion),我添加了带有 docs 插件的故事书,我似乎故事书没有看到样式组件的道具。 How can I fix that?我该如何解决?

"@storybook/addon-docs": "^6.0.0-rc.3",
"@storybook/addon-knobs": "^6.0.0-rc.3",
"@storybook/react": "^6.0.0-rc.3",

// main.js // main.js


module.exports = {
  stories: ["../src/**/*.stories.@(tsx|mdx)"],
  // Add any Storybook addons you want here: https://storybook.js.org/addons/
  addons: ["@storybook/addon-docs", "@storybook/addon-knobs/register"],
  webpackFinal: async (config) => {
    config.module.rules.push({
      test: /\.scss$/,
      use: ["style-loader", "css-loader", "sass-loader"],
      include: path.resolve(__dirname, "../"),
    });

    config.module.rules.push({
      test: /\.(ts|tsx)$/,
      loader: require.resolve("babel-loader"),
      options: {
        presets: [["react-app", { flow: false, typescript: true }]],
      },
    });

    config.resolve.extensions.push(".ts", ".tsx");

    return config;
  },
};

// Example.ts: // 例子.ts:

import { ExampleProps } from "./Example.types";

export const Example = styled.div<ExampleProps>`
  color: ${(props) => props.color || "red"};
`;

export default Example;

// Example.stories.mdx // Example.stories.mdx

import { Meta, Story, Preview, Props } from "@storybook/addon-docs/blocks";
import { withKnobs, color } from "@storybook/addon-knobs";
import Example from "./Example";

<Meta title="Example" component={Example} decorators={[withKnobs]} />

# Preview

<Preview>
  <Story name="Example">
    <Example color={color('color', '#000', 'GROUP-ID1')}>Example</Example>
  </Story>
</Preview>

# Props

<Props of={Example} />

Unfortunately props table displays:不幸的是,道具表显示:

No inputs found for this component. 

I had the same problem since migrating to 6.0.0-rc.29.自从迁移到 6.0.0-rc.29 后,我遇到了同样的问题。

I installed storybook-addon-react-docgen (v 1.2.42 ) separately in package.json and now the props table has returned.我在 package.json 中分别安装了storybook-addon-react-docgen (v 1.2.42 ),现在 props 表已经返回。

Also don't forget to add it to your addons array in main.js.也不要忘记将它添加到 main.js 中的插件数组。

Eg my main.js is例如我的 main.js 是

module.exports = {
stories: ['../src/**/*.stories.mdx', '../src/**/*.stories.js'],
addons: [
    '@storybook/addon-docs',
    '@storybook/addon-links',
    '@storybook/preset-create-react-app',
    '@storybook/addon-knobs/register',
    'storybook-addon-react-docgen'
]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM