一、警告propTypes was defined as an instance property on commonTabar. Use a static property to define propTypes instead.
警告如下圖:
1、解決方法
原來的如下圖一,修改后的如下圖二。把propTypes放置到class類的外邊,reload后警告就不見了。
2、原因
出現上面問題的原因是,在es6版本中,對一些語法進行了更改,更改的內容中都有以下屬性的修改:
將propTypes、getDefaultTypes等類屬性移到類外面定義,由於ES6類中只允許定義方法並不允許定義類屬性,所以像原先會在 createClass 中定義的 propTypes 、 getDefaultTypes 、 displayName 還有 contextTypes 等組件屬性都要放到類外面來賦值。
二、警告each child in an array or iterator should have a unique ‘key’ prop
警告如下圖:
1、解決方法
原來的如下圖一,修改后的如下圖二。圖一中沒有key,圖二在子項添加一個key就好了。
2、 原因
react native循環遍歷時需要一個唯一的key。
下面這段是從知乎看到的:
三、Android安裝APK報錯:Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE
1、解決方法
adb uninstall 包名(例如com.ginger.happy)
2、 原因
原來的包沒有卸載干凈(我的小米總是卸載不干凈,華為就沒有這個問題)
四、報錯Undefined is not an object(evaluating ‘_react2.PropTypes.func’)
報錯如下圖:
1、解決方法
把原來的寫法
import React, { Component, PropTypes } from 'react';
改為
import React, {Component} from 'react'; import PropTypes from 'prop-types';
2、原因
應該是版本更新問題,之前用0.44時這樣寫是沒有問題的,剛新建的項目是0.52的,出現了這個報錯。
-----------2019.06.05更新--------------
五、react-native run-android時報錯Could not resolve all files for configuration ':app:debugRuntimeClasspath'
報錯如下圖:
解決方法:
打開android -> build.gradle
將如下代碼
allprojects {
repositories {
jcenter()
………
………
}
}
改為
allprojects { repositories { jcenter { url "http://jcenter.bintray.com/"} ……… ……… } }
-----------2019.07.10更新--------------
六、報錯Unable to find module for EventDispatcher
報錯如下圖:
解決方法:
先Stop remote JS debugging,然后reload,就可以看到具體錯誤,然后根據錯誤提示進行解決。
END --------------------------------------------------