模块应用注册表不是已注册的可调用模块



我从 React Native 开发开始,一开始就遇到了一个问题。尝试运行我的应用程序时,出现错误:

固定冲突:模块 AppRegistry 不是已注册的可调用模块(调用 runApplication(
未处理的 JS 异常:固定冲突:本机模块不能为 null。
未处理的 JS 异常:固定冲突:模块 AppRegistry 不是已注册的可调用模块(调用 runApplication(

我的应用.js:

import React, { Component } from 'react';
import { SafeAreaView } from 'react-native';
import DefaultRouter from './src/navigation/DefaultRouter'
export default class App extends Component {
render() {
return (
<SafeAreaView>
<DefaultRouter />
</SafeAreaView>
);
}
};

索引.js:

import { AppRegistry } from 'react-native';
import App from './App';
import {name as appName} from './app.json';
AppRegistry.registerComponent(appName, () => App);

默认路由器.js:

import { createSwitchNavigator, createAppContainer } from 'react-navigation';
import LoginScreen from '../screen/LoginScreen';
import DefaultTabBar from '../navigation/TabBar';
const DefaultRouter = createSwitchNavigator({
LOGIN_SCREEN: {
screen: LoginScreen
},
TAB_NAVIGATION: {
screen: DefaultTabBar
}
}, {
initialRouteName: 'LOGIN_SCREEN',
headerMode: 'none'
})
export default createAppContainer(DefaultRouter)

其他文件是简单的Component子类。

无论我从 Visual Studio 代码还是从终端运行应用程序,问题都会出现react-native run-ios

我查看了现有的答案,没有找到任何可以指出我正确方向的东西:React-Native:模块AppRegistry不是一个注册的可调用模块 React Native:模块AppRegistry不是一个注册的可调用模块(调用runApplication

(模块
appregistry不是一个注册的可调用模块(调用runApplication( 模块 AppRegistry 不是已注册的可调用模块,并且找不到变量:常量
React 本机模块 AppRegistry 不是已注册的可调用模块 模块 AppRegistry 不是仅在发布配置中注册的可调用模块

我被困住了,我不知道从这里去哪里

运行npm cache verifycd ios && pod install,然后npm run ios

就我而言,在 git 提交导致错误之后,我发现提交中的错误代码是:

static emitter = Platform.OS === 'ios' ? new NativeEventEmitter(NativeModule) : DeviceEventEmitter;

其中本机模块为空,因为我尚未在 iOS 上实现它!

当我将其编辑为

static emitter = Platform.OS === 'ios' ? {} : DeviceEventEmitter;

然后错误Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication)消失了!

不用担心...只需关闭所有服务器进程和节点,然后使用

react-native run-ios/android

最新更新