1. 程式人生 > >ReactNative 打的release包閃退之——undefined is not an object (evaluating 'a.View.propTypes.style')?

ReactNative 打的release包閃退之——undefined is not an object (evaluating 'a.View.propTypes.style')?

寫在前面:

這個問題巨坑一個,足足花了我2天時間。

現象描述:

使用react-native run-android 命令打的包能正常安裝在模擬器上執行,一切都是那麼的平靜。然而,我使用gradlew assembleRelease命令打出的生產包,編譯都ok,已安裝到手機上(android)啟動時就崩了,使用手機連上androidStudio後,看到報的日誌是undefined is not an object (evaluating ‘a.View.propTypes.style’)(或者是XXX.View.propTypes.style’)
這裡寫圖片描述

程式碼示例:

export default class Header extends Component {
    static propTypes = {
        style: View.propTypes.style,//看到了嗎?就是這句,一個公共元件,一不小心混了一個這東西,太坑了
        title: PropTypes.string,
        showGoBack: PropTypes.bool,
        onBack: PropTypes.func,
        titleStyle: PropTypes.object,
        rightTitle: PropTypes.string,
        onRight: PropTypes.func,
        rightIcon: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
        renderRightItem: PropTypes.func
    }

解決方案:

安裝第三方庫prop-types

npm install prop-types --save

在檔案中引入PropTypes

import PropTypes from 'prop-types';

將所有

View.propTypes.XXX

換成

PropTypes.XXX

這就就ok了!!!!

總結:

如果遇到APP崩潰的情況,一定要看日誌(android就用androidStudio,不會使用的去簡單學一下就行了,很簡單),這樣才能精確定位到問題,對症下藥。

為了能及時的將自己踩到的前端坑(包括ionic,angular,ReactNative,小程式,APICloud

)分享給大家,以後會逐漸將文章轉移到微信公眾號:前端e家(front_e_family)。可直接掃碼關注,公眾號會不定期更新新文章,分享踩坑筆記!期待您的關注!
這裡寫圖片描述

相關推薦

ReactNative 打的release退——undefined is not an object (evaluating 'a.View.propTypes.style')?

寫在前面: 這個問題巨坑一個,足足花了我2天時間。 現象描述: 使用react-native run-android 命令打的包能正常安裝在模擬器上執行,一切都是那麼的平靜。然而,我使用gradlew assembleRelease命令打出的生產

react-native 編譯報錯: undefined is not an object (evaluating '_react2.PropTypes.func')

情況通報: 因為是我的二維碼模組報錯,提示報錯程式碼如下 重要資訊是下面的紅色字型部分(Android 模擬器紅屏) undefined is not an object (evaluating '_react2.PropTypes.func')<unknown> D:\CDM_POS_AP

react-native 編譯 undefined is not an object (evaluating '_react2.PropTypes.func')

情況通報: 因為是我的二維碼模組報錯,提示報錯程式碼如下 重要資訊是下面的紅色字型部分(Android 模擬器紅屏) undefined is not an object (evaluating '_react2.PropTypes.func')<unknown> D:\CDM_POS_AP

undefined is not an object (evaluating '_react3.default.PropTypes.bool')

在學習React Native的過程中,也就是學習生命週期defaultProps()的時候,為defaultProps配置屬性和為屬性申請型別時出現錯誤 static defaultProps =

[ReactNative]undefined is not an object (evaluating 'ImagePickerManager.showImagePicker')

最近用到ImagePicker,在Android上面可以正常選擇圖片,但是IOS程式就崩潰了。 首先說明一下,一定自己配,別去link!!! !!! 一定自己配,別去link!!! !!! 一定自己配,別去link!!! !!! 下面說一下XCode怎麼解決: 1.按照圖

RN中文網中電影專案出現的問題 TypeError:undefined is not an object(evaluating'e.posters.thumbnail')

TypeError:undefined is not an object(evaluating'e.posters.thumbnail') This error is located at: in t inRCTView int RCTSrollView int ScrollView

解決React Native報錯:undefined is not an object (evaluating 'sceneConfig.animationInterpolators')

呼叫this.props.navigator.resetTo出現以下問題 undefined is not an object (evaluating ‘sceneConfig.animationInt

undefined is not an object (evaluating 'dataSource.rowIdentities')

在寫listview的時候出錯,怎麼查都找不到原因,最終發現太粗心了,listview的閉合部分寫錯了! <ListView       dataSource = {this.state.dataSource.cloneWithRows(this.state.data

React Native 出現undefined is not an object (evaluating 'this.props.navigator')

在RN的元件裡面,我們想進行介面跳轉,網上查閱資料,配置程式碼實現如下, <NavigatorIOS ref='nav' style= {styles.container}initialRou

undefined is not an object (evaluating 'this.props.nav.push')的解決過程

說明:剛接觸react native不到兩個星期,這兩天在做頁面跳轉的時候遇到了這個問題(頭疼了兩天)。剛剛終於解決了,先把解決過程記錄下來 1、當前react native的最新版本是0.47,因

undefined is not an object (evaluating 'this.props.navigator.push')

在通過navigator 進行頁面跳轉的過程中  一直報 這樣的錯誤 先看程式入口檔案index.android.js import React, { Component } from 'react'; import {   AppRegistry,   StyleShee

React Native undefined is not an object (evaluating 'RNGestureHandlerModule.State')

前言: 當使用RN開發跨平臺app時,使用的元件(如,react-navigation...),這個元件可能是需要連結原生庫的。就是說要使用react-native  link 如使用到需要連結原生庫,而沒有 react-native link,執行時報:undefi

在TabNavigator中使用Navigation報錯undefined is not an object (this.props.navigation.navigate)

在學習react-native時,出現一個愣是想不明白的錯誤,在TabNavigator底部導航選單的子頁面中做跳轉,總會彈出錯誤介面,錯誤大概: 即是這個屬性是不存在的。想想,可能需要在導航選單頁裡傳遞一個名為navigation的引數才行吧,於是在首頁的底部選單每個子

安裝兩個版本的python安裝,後安裝的python程序開時退

bsp 卸載 雙擊 python的安裝 環境變量 系統默認 電腦 3.6 路徑 1.環境變量的問題 (Win7)右鍵打開“計算機”的屬性設置→高級系統設置→環境變量。 在系統變量中的path中,編輯,在末尾加入Python的安裝路徑“F:\Python27”, 路徑與

求生路 Hammer World Editor開後退解決辦法

bubuko mage 閃退 edi 解決辦法 搜索 com 圖片 啟動 試過WinXp、Win7、Win10 都無法正常啟動Hammer,搜索N多資料後發現如圖修改 控制面板 -> 區域 -> 格式 -> 英語[美國] 即可正常啟動了!!! 求生之路

VS2017調試退Chrome

.cn qq群 取消 clas 但是 asp logs AR bubuko 原文:VS2017調試閃退之Chrome巨硬build後發了15.7.1滿載期待的升級了。。結果NM淚奔................... 為啥 淚奔? 使用Chrome 調試閃退,MMP

mac突然耗電快而且活動監視器不開(退)

www. afa list ps aux 正則表達式 tar 作者 inux bsp 解決方案:啟動終端,輸入: ps aux | grep ssl 顯示: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME C

Androidrelease時按Home鍵,再按桌面icon時出現app重新啟動的問題

在專案開發中遇到了按Home鍵,再按桌面icon時出現app重新啟動的問題,這個時候我們將啟動的那個activity(一般為廣告頁面GuideActivity)的啟動模式android:launchMode="singleTask"去掉即可,但是有些APP很奇怪,debug版

CentOS7解決MySQL Workbench不開退

按照網上的教程安裝依賴後,安裝mysql-workbench-community-6.3.10-1.el7.x86_64.rpm。安裝結束後卻發現無論如何打不開MySQL Workbench,要麼沒有反映,要麼閃退。最後把mysql-workbench-community-6

eclipse 中sdk manager 不開退/經常遇到\platform-tools\adb.exe' and can be executed的解決方案

最近使用eclipse和android studio切換的開發,總是遇到如下問題: sdk manager 打不開閃退/經常遇到\platform-tools\adb.exe' and can be executed的解決方案 不知道為什麼,解決方式很簡單,重新複製一份到