React Native报错:RCTEventEmitter.receiveEvent()模块未注册为可调用模块的问题求助
React Native报错:RCTEventEmitter.receiveEvent()模块未注册为可调用模块的问题求助
我最近在开发一个React Native应用时,碰到了RCTEventEmitter.receiveEvent()模块未注册为可调用模块的报错,试了重启Metro、清除缓存这些基础操作还是没解决,想请教下社区的大佬们。先附上我的主入口文件app.tsx代码:
import {useEffect, useState}from 'react'; import * as React from 'react'; import { View, StyleSheet} from 'react-native'; import { NavigationContainer } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; import AsyncStorage from '@react-native-async-storage/async-storage'; import { SafeAreaProvider } from 'react-native-safe-area-context'; import { GestureHandlerRootView } from 'react-native-gesture-handler'; import LoginScreen from './src/pages/LoginScreen'; import OtpScreen from './src/pages/OtpScreen'; import CreateAccount from './src/pages/CreateAccount'; import Dashboard from './src/pages/Dashboard'; import OneTime from './src/pages/OneTime'; import Monthly from './src/pages/Monthly'; import Schedule from './src/pages/Schedule'; import Listing from './src/pages/Listing'; import RoleScreen from './src/pages/Role'; import BookingPage from './src/pages/BookingPage'; import Onboard from './src/pages/helper/Onboard'; import Maid from './src/pages/helper/maid'; import Driver from './src/pages/helper/Driver'; import Electrician from './src/pages/helper/Electrician'; import Makeup from './src/pages/helper/Makeup'; import Language from './src/pages/helper/Language'; import JobPosting from './src/pages/JobPosting'; import Bidding from './src/pages/Bidding'; import HelperProfile from './src/pages/HelperProfile'; import Bookings from './src/pages/Bookings'; import ProfileMenu from './src/pages/ProfileMenu'; import HelperDashboard from './src/pages/helper/HelperDashboard'; import Jobs from './src/pages/helper/Jobs'; import Posts from './src/pages/helper/Posts'; import ProfileHelper from './src/pages/helper/ProfileHelper'; import SplashScreen from 'react-native-splash-screen'; import LocationUpdate from './src/pages/LocationUpdate'; import Current from './src/pages/Current'; import EditProfile from './src/pages/EditProfile'; import FilterModal from './src/pages/FilterModal'; import Ongoing from './src/pages/Ongoing'; import ScheduledB from './src/pages/ScheduledB'; import Active from './src/pages/helper/Active'; import Working from './src/pages/helper/Working'; import { useNavigation } from '@react-navigation/native'; import EditHelper from './src/pages/helper/EditHelper'; import AboutUs from './src/pages/AboutUs'; import i18n from './src/i18n'; import Wallet from './src/pages/helper/Wallet'; // Define Navigation Stack const Stack = createNativeStackNavigator(); function App() { const [initialRoute, setInitialRoute] = useState<string | null>(null); useEffect(() => { const checkLogin = async () => { try { const userData = await AsyncStorage.getItem('userData'); const helperData = await AsyncStorage.getItem('helperData'); if (helperData) { const helper = JSON.parse(helperData); i18n.changeLanguage(helper.language); setInitialRoute('HelperDashboard'); } else if (userData) { setInitialRoute('Dashboard'); } else { setInitialRoute('Login'); } } catch (e) { setInitialRoute('Login'); } finally { SplashScreen.hide(); } }; checkLogin(); }, []); return ( <SafeAreaProvider> <NavigationContainer> <Stack.Navigator initialRouteName={initialRoute || "Login"} screenOptions={{ headerShown: false, animation: 'none', // Disable animations for stability freezeOnBlur: true // Prevent background screens from unmounting }} > {/* Auth Screens */} <Stack.Screen name="Login" component={LoginScreen} /> <Stack.Screen name="OtpScreen" component={OtpScreen} /> <Stack.Screen name="CreateAccount" component={CreateAccount} /> <Stack.Screen name="Role" component={RoleScreen} /> <Stack.Screen name="Language" component={Language} /> {/* Helper Onboarding Flow */} <Stack.Group screenOptions={{ gestureEnabled: false }}> <Stack.Screen name="Onboard" component={Onboard} /> <Stack.Screen name="Active" component={Active} /> <Stack.Screen name="Working" component={Working} /> <Stack.Screen name="maid" component={Maid} /> <Stack.Screen name="Driver" component={Driver} /> <Stack.Screen name="Electrician" component={Electrician} /> <Stack.Screen name="Makeup" component={Makeup} /> <Stack.Screen name="HelperDashboard" component={HelperDashboard} /> <Stack.Screen name="Jobs" component={Jobs} /> <Stack.Screen name="Posts" component={Posts} /> <Stack.Screen name="ProfileHelper" component={ProfileHelper} /> <Stack.Screen name="EditHelper" component={EditHelper} /> <Stack.Screen name="Wallet" component={Wallet} /> </Stack.Group> {/* Main App Screens */} <Stack.Screen name="Dashboard" component={Dashboard} /> <Stack.Screen name="OneTime" component={OneTime} /> <Stack.Screen name="Monthly" component={Monthly} /> <Stack.Screen name="Schedule" component={Schedule} /> <Stack.Screen name="Listing" component={Listing} /> <Stack.Screen name="BookingPage" component={BookingPage} /> <Stack.Screen name="JobPosting" component={JobPosting} /> <Stack.Screen name="Bidding" component={Bidding} /> <Stack.Screen name="HelperProfile" component={HelperProfile} /> <Stack.Screen name="Bookings" component={Bookings} /> <Stack.Screen name="ProfileMenu" component={ProfileMenu} /> <Stack.Screen name="LocationUpdate" component={LocationUpdate} /> <Stack.Screen name="Current" component={Current} /> <Stack.Screen name="EditProfile" component={EditProfile} /> <Stack.Screen name="FilterModal" component={FilterModal} /> <Stack.Screen name="Ongoing" component={Ongoing} /> <Stack.Screen name="ScheduledB" component={ScheduledB} /> <Stack.Screen name="AboutUs" component={AboutUs} /> </Stack.Navigator> </NavigationContainer> </SafeAreaProvider> ); } export default App;
目前我还在排查阶段,整理了几个可能的方向,也欢迎大家补充:
- 核对第三方依赖(比如
react-native-gesture-handler、@react-navigation/native)的版本是否和当前React Native版本兼容,建议查看各库官方文档确认匹配关系 - iOS端可以进入ios目录执行
pod deintegrate && pod install,彻底重装Pod依赖后再测试 - Android端尝试清理构建缓存:运行
./gradlew clean后重新构建项目 - 检查是否开启了Hermes引擎,部分场景下Hermes的缓存可能引发这类问题,可以临时关闭Hermes测试
- 确认项目中有没有自定义原生模块未正确注册,不过这个项目里主要用的都是主流库,暂时没涉及自定义模块
内容来源于stack exchange
相关产品推荐
相关产品推荐

