Storybook 7.0.23 - TypeError:filterProps.indexOf 不是函数
P粉333395496
P粉333395496 2023-09-03 23:16:35
[React讨论组]
<p>我有一个简单的 React 组件:</p> <pre class="brush:php;toolbar:false;">import React from 'react'; const Button = (props) =&gt; { return ( &lt;div&gt;My Button props: {Object.keys(props)}&lt;/div&gt; ) } export default Button;</pre> <p>我有一个故事书故事如下:</p> <pre class="brush:php;toolbar:false;">import React from 'react'; import Button from './'; export default { component: &lt;Button /&gt;, tags: ['autodocs'], }; export const Default = { args: { primary: true }, };</pre> <p>但是当故事书运行时,我收到以下错误:</p> <pre class="brush:php;toolbar:false;">Uncaught TypeError: filterProps.indexOf is not a function at index.js:576:1 at Array.filter (&lt;anonymous&gt;) at formatReactElementNode (index.js:575:1) at formatTreeNode (index.js:735:1) at formatTree (index.js:746:1) at reactElementToJsxString (index.js:786:1) at config.mjs:19:1 at mapSingleChildIntoContext (react.development.js:1149:1) at traverseAllChildrenImpl (react.development.js:1007:1) at traverseAllChildren (react.development.js:1092:1)</pre> <p>我注意到,当我删除故事书中的 <code>args</code> 时,组件就会呈现。</p> <p>.storybook/main.js:</p> <pre class="brush:php;toolbar:false;">module.exports = { stories: [ &quot;../src/**/*.story.@(js|jsx|ts|tsx)&quot;, ], addons: [ &quot;@storybook/addon-links&quot;, &quot;@storybook/addon-essentials&quot;, &quot;@storybook/addon-interactions&quot;, ], framework: { name: &quot;@storybook/react-webpack5&quot;, options: {}, }, docs: { autodocs: &quot;tag&quot;, }, typescript: { reactDocgen: false }, webpackFinal: (config) =&gt; { const cssLoaders = [{ loader: 'postcss-loader', options: { plugins: [ require('postcss-assets')({ cache: true }), require('autoprefixer')({ browsers: ['chrome 44'] }) ] } }, { loader: 'sass-loader', options: { includePaths: ['node_modules', 'src/scss'], quietDeps: true } }] config.module.rules.push({ test: /\.js?$/, exclude: /(node_modules|coverage|target)/, loader: 'babel-loader', options: { plugins: ['@babel/plugin-syntax-dynamic-import'] } }, { test: /\.s?css$/, use: ['style-loader', ...cssLoaders] }); return config; }, }</pre> <p>.storybook/preview.js:</p> <pre class="brush:php;toolbar:false;">const preview = { parameters: { actions: { argTypesRegex: &quot;^on[A-Z].*&quot; }, controls: { matchers: { color: /(background|color)$/i, date: /Date$/, }, }, }, }; export default preview;</pre> <p>我不确定这是否是我的项目,但当我使用 Storybook 版本时,我的组件正在工作 <code>"@storybook/react": "6.1.21",</code></p> <p>不太确定发生了什么!</p> <p>编辑:</p> <p>我已经找到了导致错误的文件,它是一个node_modules文件: <code>node_modules/react-element-to-jsx-string/dist/cjs/index.js</code></p>
P粉333395496
P粉333395496

全部回复(1)
P粉731977554

我错过了 package.json 具有以下内容的事实:

"overrides": {
    "react-element-to-jsx-string": "14.0.2"
  },

摆脱它可以让我的故事书重新开始运行。 叹息

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号