软件包更新后,React Native应用卡在初始屏幕上

问题描述

我的应用程序以前运行正常,没有构建或运行时错误。然后,我将react-native-agora从^ 2.9.1更新为^ 3.0.1-rc.4。 发生了崩溃问题,该问题已由

解决
  • pod install
  • react-native start --reset-cache

我现在的问题是,应用程序停留在初始屏幕上,并在iOS RN v0.61.5上出现此错误:

Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication)

到目前为止,我已经尝试过:

  • 添加index.ios.js文件并添加入口点代码
  • 删除并重新安装node_modules
  • npm cache clean
  • 使用Xcode清理和重建项目
  • 重新启动计算机
  • killall -9 node
  • react-native start --reset-cache
  • 在模拟器中删除应用并重新构建/运行
  • 已删除的pod文件夹和pod install
  • 注释掉所有react-native-agora代码

我没有

  • 在此agora程序包上运行任何形式的react-native link。我正在使用v0.61.5

也:

  • 因为react-navigation在.61.5中是自动链接的,所以我相信Xcode中应该有某种开发容器。我没看它什么时候工作,所以没有什么可比的。但我在开发人员窗格中看不到react-navigation,但我看到了其对等依赖项

development pods

我的package.json:

"dependencies": {
        "@react-native-community/cli": "^4.3.0","@react-native-community/clipboard": "^1.2.2","axios": "^0.19.2","moment": "^2.24.0","moment-timezone": "^0.5.27","prop-types": "^15.7.2","react": "16.9.0","react-native": "^0.61.5","react-native-agora": "^3.0.1-rc.4","react-native-algolia-dropdown": "^1.6.0","react-native-calendars": "^1.220.0","react-native-chart-kit": "^4.3.0","react-native-code-push": "^6.0.0","react-native-extended-stylesheet": "^0.12.0","react-native-firebase": "^5.6.0","react-native-gesture-handler": "^1.5.2","react-native-image-crop-picker": "^0.26.1","react-native-material-dropdown": "^0.11.1","react-native-reanimated": "^1.4.0","react-native-responsive-screen": "^1.4.1","react-native-safe-area-context": "^0.6.2","react-native-screens": "^1.0.0-alpha.23","react-native-snap-carousel": "^3.8.4","react-native-splash-screen": "^3.2.0","react-native-svg": "^9.13.6","react-native-view-shot": "^3.1.2","react-native-webview": "^9.4.0","react-navigation": "^4.0.10","react-navigation-drawer": "^2.3.3","react-navigation-stack": "^1.10.3","react-redux": "^7.1.3","redux": "^4.0.4","redux-persist": "^6.0.0","redux-thunk": "^2.3.0","rn-fetch-blob": "^0.11.2"
    },

index.js和index.android.js相同:

import { AppRegistry } from 'react-native';
import App from './App';
import 'react-native-gesture-handler';
import { name as Project } from './app.json';

AppRegistry.registerComponent(Project,() => App);

编辑(调试器输出):

  • 很多Require cycles are allowed,but can result in uninitialized values. Consider refactoring to remove the need for a cycle.都是从各种来源输出的,从我的组件到Firebase,再到其他npm软件包
  • 关于仍然尝试使用react-native-agora软件包的很多抱怨

如何解决此问题?

解决方法

React Native Agora v3.x与v2.x不向后兼容。请考虑阅读API参考,示例应用程序,然后迁移到新的API。

v3准系统快速入门(自述文件尚未更新):https://github.com/technophilic/Agora-RN-Quickstart/tree/sdk-v3

API参考:https://agoraio-community.github.io/react-native-agora/globals.html

,

在这种情况下,在最初尝试出于调试目的删除所有存在的软件包之后,仍然存在一些新近更新的软件包。通过从react-native-agora完全删除所有代码,Ive现在可以正常运行该应用程序。他们的所有文档和示例项目都没有针对新版本进行更新的问题。

根据此仓库对我的聊天室组件进行建模:https://github.com/AgoraIO-Community/Agora-RN-Quickstart/blob/master/App.tsx最终使react-native-agora为我工作。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...