React-Native Storybook打开即崩溃并无限输出报错求助
解决React Native 0.70.5 + Storybook 5.3.27启动崩溃问题
问题分析
你碰到的错误根源是Storybook 5.x版本与React Native 0.70.x的core-js依赖版本不兼容,导致模块循环引用或导出格式不匹配,触发栈溢出和函数调用失败。
可行解决方案
方案1:升级Storybook到兼容版本
Storybook 5.3.27是较旧版本,对RN 0.70+的支持不足。建议升级到适配RN 0.70的版本,比如@storybook/react-native@6.5.x或更高:
- 卸载旧版本:
npm uninstall @storybook/react-native @storybook/addons @storybook/react-native-server - 安装兼容版本(以6.5.16为例):
npm install @storybook/react-native@6.5.16 @storybook/addons@6.5.16 --save-dev - 重新配置
.storybook/main.js等初始化文件,对应版本的官方配置调整结构即可。
方案2:锁定core-js版本
如果暂时没法升级Storybook,可以强制指定兼容的core-js版本,避免RN自带的高版本core-js与Storybook依赖冲突:
- 在
package.json中添加resolutions字段:"resolutions": { "core-js": "3.20.3" } - 安装依赖:
- yarn用户直接运行:
yarn install - npm用户先装
npm-force-resolutions:
再在npm install npm-force-resolutions --save-devpackage.json的scripts里加:
最后执行"preinstall": "npx npm-force-resolutions"npm install
- yarn用户直接运行:
方案3:临时禁用LogBox(仅调试用)
第二条错误是LogBox渲染日志时触发的,临时禁用能先看到原始错误,但解决不了根本问题:
在项目入口文件(比如index.js)顶部加:
import { LogBox } from 'react-native'; LogBox.ignoreAllLogs();
验证步骤
- 清除缓存:
npx react-native start --reset-cache - 重新构建运行App:
npx react-native run-android # 或 run-ios
内容的提问来源于stack exchange,提问作者Antoni
相关产品推荐
相关产品推荐

