反应原生应用程序在启动时在设备中崩溃。在模拟器中工作正常

Posted

技术标签:

【中文标题】反应原生应用程序在启动时在设备中崩溃。在模拟器中工作正常【英文标题】:React native application crashing in device at launch time. Working fine in simulater 【发布时间】:2018-02-21 17:47:47 【问题描述】:

我创建了一个 react native 应用并在模拟器中成功运行。但它在设备启动时崩溃。

在下方添加了崩溃日志。请检查并帮助

Module AppRegistry 不是注册的可调用模块(调用runApplication) *** 由于未捕获的异常而终止应用程序'RCTFatalException:未处理的 JS 异常:未定义不是对象(评估'u.View.propTypes.style')',原因:'未处理的 JS 异常:未定义不是对象(评估' u.View.prop...,堆栈:

【问题讨论】:

你的命令是什么?只是react-native run-android ? react 导入 PropTypes 在React 16 中已被弃用,我会检查您在package.json 中使用的所有库是否存在其 github 页面上的任何问题。 这些是我正在使用的“依赖项”:“axios”:“^0.17.1”,“react”:“16.0.0-beta.5”,“react-native”:“ 0.49.3”、“react-native-collapsible”:“^0.9.0”、“react-native-country-picker-modal”:“^0.5.1”、“react-native-dash”:“0.0. 7", “react-native-datepicker”:“^1.6.0”,“react-native-elements”:“^0.17.0”,“react-native-form-validator”:“^ 0.2.0”,“react-native-modal-dropdown”:“^0.5.0”,“react-native-router-flux”:“^4.0.0-beta.28”,“react-native-vector-图标”:“^4.4.2”,“react-navigation”:“^1.0.0-beta.13”,“react-redux”:“^5.0.6”,“redux”:“^3.7.2” ,“redux-logger”:“^3.0.6”,“redux-persist”:“^5.5.0”,“redux-thunk”:“^2.2.0”,“rm”:“^0.1.8” , "validate.js": "^0.12.0" , 【参考方案1】:

这是由组件问题引起的,要修复它,请转到组件 .js 并进行此更改

import React,
    PropTypes
 from 'react';

import React from 'react';
import PropTypes from 'prop-types';

他们找到所有View.propTypes.style并更改为ViewPropTypes.style

【讨论】:

你能给我找到这个文件的路径吗 - component.js ? 我的意思是您的应用程序中有一个组件存在 proptypes 问题,您需要对其进行调试才能找到,我建议使用 View.propTypes.style 在您的应用程序中搜索 .js 文件

以上是关于反应原生应用程序在启动时在设备中崩溃。在模拟器中工作正常的主要内容,如果未能解决你的问题,请参考以下文章

在启动画面上反应原生应用程序 firebase 崩溃报告

应用程序冻结在白色屏幕上,反应原生android apk

什么会导致 iPad(第 3 代)在启动时崩溃但在模拟器中工作?

当我在真实设备中打开活动时应用程序崩溃

如何让原生 WebSockets 在 Android 4.03 及更高版本中工作?

使用 LayoutAnimationController.shouldAnimateLayout 反应原生 Android 崩溃