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
相关产品推荐
相关产品推荐

