描述问题
在更新到Storybook v8后,当你点击"显示代码"按钮时,画布下的代码块显示的代码与之前不同。
Storybook 7
Storybook 8
我正在使用CSF和MDX。
// toggle.stories.tsx
import type { Meta, StoryObj } from '@storybook/react';
import { Toggle } from './toggle';
const meta: Meta<typeof Toggle> = {
component: Toggle,
title: 'Inputs/Toggle',
args: {
'data-test-id': 'toggle',
isChecked: true,
isDisabled: false,
size: 'medium',
},
};
export default meta;
type Story = StoryObj<typeof Toggle>;
export const Basic: Story = {};
{/* toggle.mdx */}
import { Canvas, Meta } from '@storybook/blocks';
import * as ToggleStories from './toggle.stories';
<Meta of={ToggleStories} />
<Canvas of={ToggleStories.Basic} />
这个问题出现在我使用MDX的每个故事中。当故事对象中有 render
函数时,它会输出整个故事对象,而不是像以前那样只显示JSX输出。
Storybook 7
Storybook 8
复现链接
https://stackblitz.com/edit/github-cyjyvh?file=src%2Fstories%2FButton.mdx
复现步骤
我部分地复现了这个问题。
- 注解掉Button.mdx文件中的
Canvas
代码块,观察Canvas
代码块中渲染的不同值。
系统
System:
OS: Windows 10 10.0.19045
CPU: (24) x64 12th Gen Intel(R) Core(TM) i9-12900
Binaries:
Node: 21.1.0 - C:\Program Files\nodejs\node.EXE
Yarn: 4.3.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD <----- active
npm: 10.2.0 - C:\Program Files\nodejs\npm.CMD
Browsers:
Chrome: 126.0.6478.57
Edge: Chromium (125.0.2535.92)
npmPackages:
eslint-plugin-storybook: 0.8.0 => 0.8.0
其他上下文
- 无响应*
6条答案
按热度按时间tjrkku2a1#
Related to #22281
mwecs4sa2#
你有一个可复现的仓库可以分享吗?如果没有,你能创建一个吗?前往$x_{1e0f1}^{x}$或者查看$x_{1e1f1}^{x}$.谢谢!
6yoyoihd3#
@shilman 我正在尝试创建一个可复现的示例,但尚未成功。这似乎与我们的自定义babel-config有关,它已从Storybook webpack v8中移除。我目前正试图确定是什么可能导致这种竞争条件。
bwntbbo34#
@shilman 我遇到了一个类似的问题。在这个例子中,
Source
块的值取决于MDX文件中是否存在Canvas
。当没有Canvas
时,无法覆盖Source
块的type
。在我的案例中,我无法在
Canvas
和Source
块中显示除"code"类型之外的其他内容,但我还没有完全重现这个问题。8i9zcol25#
related #21747
4c8rllxm6#
这可能与问题#22922有关,因为添加@storybook/addon-storysource会显示与画布或源代码块本身相同的源代码,而不允许任何覆盖。