我从 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 verify
或cd 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