You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo eject项目Redux配置报Maximum call stack exceeded如何解决

问题修复方案

  • 移除重复导入
    提供的配置代码中重复导入了AsyncStorage,删除其中一行重复的导入语句即可。
  • 补全缺失的中间件导入
    代码中使用了apiMiddleware但没有对应导入逻辑,确认需要使用就补全导入,不需要就从applyMiddleware的参数中删除该中间件。
  • 生产环境禁用Redux开发者工具
    当前配置在所有环境都加载了Redux DevTools,生产环境下该工具会产生大量额外的性能消耗,是低端设备触发栈溢出的核心原因之一,修改配置如下:
const middleware = applyMiddleware(ReduxThunk, apiMiddleware);
// 仅开发环境加载devtools
const enhancer = process.env.NODE_ENV === 'development' 
  ? composeWithDevTools(middleware)
  : middleware;
const store = createStore(pReducer, enhancer);
  • 降级redux-persist到稳定版本
    你使用的redux-persist@6.0.0是不稳定的预发布版本,和当前项目的redux、react-native版本存在兼容问题,会导致初始化阶段循环调用,执行以下命令降级到稳定版即可:
    npm install redux-persist@5.10.0
  • 校验reducer规范
    确认所有reducer符合纯函数要求:不要在reducer内部直接修改state、不要调用外部可变方法、不要触发dispatch操作,这些不符合规范的写法都会导致状态更新死循环。
  • 验证redux-persist必要性
    你当前的persistConfig中whitelist为空,说明不需要持久化任何reducer数据,可以直接移除所有redux-persist相关逻辑,避免不必要的初始化性能开销。

内容的提问来源于stack exchange,提问作者Zuka Gaprindashvili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 01:24:07