storybook [Bug]:在未绑定的StoryFn上出现无限循环渲染

3pmvbmvn  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(67)

描述bug

你好,
我最近使用迁移脚本将storybook从v7迁移到v8。
由于在unboundStoryFn上存在无限循环,导致重新渲染所有故事

你可以在here找到我的配置。
是否有与我的配置相关的内容?
谢谢
编辑:当我在新标签页中打开画布时,它不会无限渲染。

复现链接

https://github.com/centreon/centreon/blob/develop/centreon/packages/ui/.storybook/main.ts T

复现步骤

  1. 使用pnpm安装依赖项
  2. 运行pnpm storybook
  3. 转到一个故事,然后运行分析器

系统

Storybook Environment Info:

  System:
    OS: macOS 14.5
    CPU: (8) x64 Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.11.1 - ~/.nvm/versions/node/v20.11.1/bin/node
    npm: 10.2.4 - ~/.nvm/versions/node/v20.11.1/bin/npm
    pnpm: 8.15.7 - ~/.nvm/versions/node/v20.11.1/bin/pnpm <----- active
  Browsers:
    Chrome: 127.0.6533.89
    Safari: 17.5
  npmPackages:
    @storybook/addon-a11y: ^8.2.7 => 8.2.7 
    @storybook/addon-docs: ^8.2.7 => 8.2.7 
    @storybook/addon-essentials: ^8.2.7 => 8.2.7 
    @storybook/addon-interactions: ^8.2.7 => 8.2.7 
    @storybook/addon-themes: ^8.2.7 => 8.2.7 
    @storybook/blocks: ^8.2.7 => 8.2.7 
    @storybook/manager-api: ^8.2.7 => 8.2.7 
    @storybook/mdx2-csf: ^1.1.0 => 1.1.0 
    @storybook/preview-api: ^8.2.7 => 8.2.7 
    @storybook/react: ^8.2.7 => 8.2.7 
    @storybook/react-vite: ^8.2.7 => 8.2.7 
    @storybook/test: ^8.2.7 => 8.2.7 
    @storybook/test-runner: ^0.19.1 => 0.19.1 
    @storybook/theming: ^8.2.7 => 8.2.7 
    msw-storybook-addon: ^2.0.3 => 2.0.3 
    storybook: ^8.2.7 => 8.2.7 
    storybook-addon-mock: ^5.0.0 => 5.0.0 
    storybook-dark-mode: ^4.0.2 => 4.0.2

其他上下文

  • 无响应*
yrwegjxp

yrwegjxp1#

免责声明
由于信息是自动生成的,可能存在不准确的情况。unboundStoryFn 上的无限循环可能与 StoryStore 的实现有关。具体来说,请检查 /code/core/src/preview-api/modules/store/StoryStore.ts 中的 fromId 方法。确保 storyFn 函数不会导致重新渲染,通过验证上下文和更新逻辑来确认。审查 getStoryContext 方法以确保它不会引入可能导致重新渲染的状态更改。此外,确保故事中的所有钩子或状态管理都不会导致意外的副作用。

参考资料

/.github/DISCUSSION_TEMPLATE/help.yml
/code/lib/cli/src/automigrate/fixes/new-frameworks.ts
/code/lib/cli/src/automigrate/fixes/prompt-remove-react.ts
/code/core/src/preview-api/modules/store/StoryStore.ts
/.github/comments/invalid-link.md
/code/core/src/server-errors.ts
/code/lib/cli/src/automigrate/index.test.ts
/code/lib/cli/src/automigrate/fixes/mdx-gfm.ts
/code/core/src/core-server/utils/mockdata/errors/NoMeta.stories.ts
/code/lib/cli/src/automigrate/fixes/sb-scripts.test.ts
/code/lib/cli/src/automigrate/fixes/missing-storybook-dependencies.ts
/code/lib/instrumenter
/.github/comments
/code/lib/cli/src/automigrate/fixes/angular-builders-multiproject.ts
/code/lib/cli/src/automigrate/fixes/addon-postcss.ts
/code/lib/cli/src/automigrate/fixes/mdx-to-csf.ts
/code/lib/cli/src/autoblock/block-storystorev6.ts
/code/lib/cli/src/automigrate/fixes/vta.ts
/CONTRIBUTING.md
/code/core/src/preview-errors.ts
/code/lib/cli/src/automigrate/helpers/getMigrationSummary.test.ts
/.github/DISCUSSION_TEMPLATE/ideas.yml
/docs/contribute/how-to-reproduce.mdx
/code/addons/interactions/template/stories
/code/lib/cli/src/automigrate/fixes/angular-builders.ts

关于 Greptile

此响应为您提供了研究的起点,而不是精确的解决方案。
帮助我们改进!如果这有帮助,请留下一个 👍 如果无关紧要,请留下一个 👎

dl5txlt9

dl5txlt92#

经过一番调查,我发现这个插件@storybook/addon-interactions导致了这个问题。我移除了它,因为我不使用它,也没有额外的渲染🎉

相关问题