storybook 当从控件选择下拉菜单中选择组件时,Canvas因ForwardRef的错误而崩溃,

mpgws1up  于 3个月前  发布在  其他
关注(0)|答案(3)|浏览(111)

描述bug

在使用Controls插件的Storybook 6 for React中,当在下拉菜单控件之间切换时,Storybook的画布会因为ForwardRef错误而崩溃。一个有效的用例是Material-UI Button的endIcon/startIcon属性。

使用提供的prop endIcon={<div>initial</div>}进行初始渲染时,渲染正确。只有在下拉菜单中选择一个新选项时才会发生错误。

有趣的是,这个问题只出现在Storybook的Canvas组件上,同样的story在Docs插件中切换时也是正常的;所以它似乎与storybook Canvas有关。

重现

  1. 使用带有Controls插件的Storybook 6 for React
  2. 创建一个故事并配置一个ReactNode类型的属性来处理下拉菜单控件,其中值是一个组件
  3. 选择下拉菜单中的一个选项,你将看到以下错误。

预期行为

组件应更新以表示prop的变化,而不是崩溃。

截图

代码片段

import React from "react";
import { Story, Meta } from "@storybook/react/types-6-0";
import { Button, ButtonProps } from "@material-ui/core/Button";

export default {
  title: "Inputs/Button",
  component: Button,
  argTypes: {
    endIcon: {
      control: {
        options: { Alpha: <div>alphra</div>, Beta: <div>beta</div> },
      },
    },
  },
} as Meta;

const Template: Story<ButtonProps> = (args) => {
  return (
    <Button {...args} />
  );
};

const baseArgs: Partial<ButtonProps> = {
  children: "Button",
  variant: "contained",
};

export const Index = Template.bind({});
Index.args = {
  ...baseArgs,
  color: "default",
  endIcon: <div>initial</div>,
};

系统:

npx sb@next info对我不起作用,但我正在使用以下内容:

"@react-theming/storybook-addon": "^1.0.3",
    "@storybook/addon-actions": "^6.0.13",
    "@storybook/addon-essentials": "^6.0.13",
    "@storybook/addon-links": "^6.0.13",
    "@storybook/addon-storysource": "^6.0.13",
    "@storybook/addon-viewport": "^6.0.13",
    "@storybook/node-logger": "^6.0.13",
    "@storybook/react": "^6.0.13",

附加上下文

在这里添加有关问题的任何其他上下文。

dkqlctbz

dkqlctbz1#

可能与#12122重复,将进行调查。

6ojccjat

6ojccjat2#

大家好!最近似乎没有太多关于这个问题的进展。如果还有问题、评论或错误,请随时继续讨论。遗憾的是,我们没有时间处理每一个问题。我们始终欢迎贡献,所以如果你想帮忙,请发送一个pull request。30天后未活跃的问题将被关闭。谢谢!

a9wyjsp7

a9wyjsp73#

workaround documented here: https://storybook.js.org/docs/react/essentials/controls#fully-custom-args

相关问题