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

React Native中@reduxjs/toolkit与redux-persist启动报错求助

Redux-Persist + RTK 在 React Native 中启动报错:TypeError: undefined is not a function

问题概述

我在 React Native 项目中使用 Redux Toolkit (RTK) 搭配 redux-persist 做状态管理,此前代码运行完全正常。但重启电脑后,执行react-native start启动项目时,控制台和物理设备调试日志均抛出以下错误:

LOG  Running "MyApp" with {"rootTag":311}
 ERROR  TypeError: undefined is not a function, js engine: hermes 

错误指向代码行const persistedReducer = persistReducer(persistConfig, combineReducers({,具体是combineReducers方法触发的错误。

重启电脑前我未对项目做任何修改:通过 Git 确认无代码变更,恢复暂存的原生部分修改后问题依旧,也未改动全局或项目的 Node.js 环境。系统为 Ubuntu 22.04.02 LTS,Node 版本 v18.10.0。

相关代码片段

状态管理核心代码:

import { combineReducers, configureStore } from '@reduxjs/toolkit';
import uploadingReducer, { setStatus } from './uploading';
import AsyncStorage from '@react-native-async-storage/async-storage';
import { persistStore, persistReducer } from 'redux-persist'

const persistConfig = {
  key: 'root',
  storage: AsyncStorage
}

const persistedReducer = persistReducer(persistConfig, combineReducers({
  uploading: persistReducer({
    key: 'uploading',
    storage: AsyncStorage
  }, uploadingReducer),
}));

export const store = configureStore({
  reducer: persistedReducer,
  middleware: (getDefaultMiddleware) => getDefaultMiddleware({
    serializableCheck: false
  }),
});
export const persistor = persistStore(store);

项目依赖版本

"dependencies": {
    "@react-native-async-storage/async-storage": "^1.18.1",
    "@react-native-community/netinfo": "^9.3.10",
    "@react-native-material/core": "^1.3.7",
    "@react-navigation/native": "^6.1.6",
    "@react-navigation/native-stack": "^6.9.12",
    "@reduxjs/toolkit": "^1.9.5",
    "axios": "^1.4.0",
    "react": "18.2.0",
    "react-native": "0.71.3",
    "react-native-document-picker": "^8.2.0",
    "react-native-fs": "^2.20.0",
    "react-native-safe-area-context": "^4.5.0",
    "react-native-screens": "^3.20.0",
    "react-redux": "^8.0.5",
    "redux-persist": "^6.0.0"
  },

已尝试的解决方法

  • 停止并重启 Metro 服务
  • 重新执行npm run android
  • 完全删除node_modules后重装依赖
  • 清理 Metro 缓存(react-native start --reset-cache)

但以上操作均未解决问题,希望得到问题根源的排查思路或解决方案。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:22:41