reactjs - 故事书迁移到 CSF 的 Typescript 问题

标签 reactjs typescript storybook

将 50 多个故事迁移到 CSF 后,它们不会出现在故事​​书中。经过一番挖掘后,我发现我必须将组件 key 传递给默认导出,组件的值是组件的值

export default {
title: "Title"
component: MyComponent
}

问题是我的所有组件都使用 Typescript,并且由于某种原因出现错误:

Default export of the module has or is using private name 'MyComponentProps'.ts(4082)

如有任何帮助,我们将不胜感激。

最佳答案

您可以像@Mayank 所建议的那样将它们的 props 更改为 type 而不是 interface,或者您可以简单地确保 export 它们的 Prop 。

例子:

interface Props {
  name: string;
}

const ({ name }: Props) => {
  return <div>{name}</div>;
}

如果您尝试为此组件创建一个故事,此代码将提供您获得的 TS4082。

如果导出接口(interface):

export interface Props {
  name: string;
}

const ({ name }: Props) => {
  return <div>{name}</div>;
}

错误将消失。

关于reactjs - 故事书迁移到 CSF 的 Typescript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64703203/

相关文章:

webpack - 将 Nuxt 模块放入 Storybook 中

javascript - 动态 mathjax 与 react.js

javascript - 在 redux 中使用 ES6 标准的 mixin 的最佳方法是什么?

javascript - 除了 render 方法之外,还有什么方法可以在 React 类中获取 props 吗?

reactjs - 警告 : Received true for a non-boolean attribute primary

TypeScript 重载实现与签名不匹配

typescript - 我可以使用 typescript 在生成的 javascript 中添加额外的评论吗?

javascript - 子类方法签名推断

angular - 故事书:在组件级别注入(inject)一个模拟的提供者/服务

react-native - 尝试使用 Storybook 构建 React Native 应用程序时卡在启动屏幕上