javascript - Storybook Story From Example 是什么类型

标签 javascript typescript storybook

我使用了故事书网站上示例中的一些代码,具体来说:

export const Primary = Primary.decorators = [(Story) => <div style={{ margin: '3em' }}><Story/></div>]

但是,即使这是 typescript 示例,它也没有为 Story 指定类型,除非它有类型,否则我的 linter 不会通过。我应该为 Story 使用什么类型?

Story: any

也不会通过。

引用:https://storybook.js.org/docs/react/writing-stories/decorators

最佳答案

您可以根据我们如何使用 Story 来判断我们需要哪些属性。我们期望它是可以通过 JSX 不带参数调用并返回一个元素的东西。所以你可以使用 (Story: React.FC) 并且那会起作用。


如图this example ,您可以从 @storybook/react 导入类型 Meta 并将其用作 Primary 的类型。

import { Meta } from "@storybook/react";

const Primary: Meta = {
  title: "MyStory",
  decorators: [
    (Story) => (
      <div style={{ margin: "3em" }}>
        <Story />
      </div>
    )
  ]
};

他们为 Story 键入的内容被推断为 () => StoryFnReactReturnType


您还可以导入 Story 的类型:

import { Story } from "@storybook/react";

export default {
  title: "MyStory",
  decorators: [
    (Story: Story) => (
      <div style={{ margin: "3em" }}>
        <Story />
      </div>
    )
  ]
};

关于javascript - Storybook Story From Example 是什么类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66854096/

相关文章:

javascript - 重建选择中的项目

javascript - 如何动画列表元素位置变化

javascript - _co.photo 是未定义的控制台错误和错误上下文,但代码按预期工作

reactjs - 如何使用 styled-icons 输出故事书中的图标列表

javascript - 我可以在内联 javascript if 语句中省略 else 吗?

JavaScript 数组基于元素的新数组

typescript - 在angular2中修改url时只改变dom的一部分

javascript - 如何使用 Angular 8 单元测试检查图像是否存在于给定路径中?

typescript - NextJS、Storybook、SVG 和绝对导入路径

angular - 如何向 Angular 故事书添加指令