好久沒寫博客了,特地把之前接觸React Native時遇到的坑總結一下。
初始化一個React Native項目時,可能會遇到以下這些坑:
1、項目版本號與安卓模擬器中安裝的 compileSdkVersion 和 buildToolsVersion 版本不一致,這時候可以直接修改 項目 => android => app => build.gradle文件下的版本號,如下:

2、初始化一個項目並運行項目時,可能會一直報錯,這時有可能是因為缺少 local.properties文件,該文件用於指定 SDK的路徑(該文件存放在項目目錄下 => android 下)
文件內容如下:
sdk.dir=C\:\\Users\\android\\AppData\\Local\\Android\\sdk (這是我的sdk安裝路徑)
3、可能會出現React Native與javascript版本號不一致,這時候可以新建一個與javascript版本號一致的React Native項目,命令如下:
react-native init 項目名 --version 具體的版本號
4、有時候運行會出錯,報錯類似"Cannot add a child that doesn't have a YogaNode or parent node" 這種,有可能是因為render方法中含有注釋語句,這時候刪除注釋語句,可能就會正常運行了。
5、文本放在Text標簽中,不要直接放在View標簽中(View是一個容器,用來包含其他的標簽的),否則模擬器可能會直接崩了(親測,android studio和genymotion下都崩了,當然也可能是我的版本的原因)
6、當我們執行點擊事件,如onPress時,希望在點擊后顯示高亮狀態,這時候就可以使用TouchableHighlight組件了,但是,注意:該組件只能包含一個子節點,否則會出錯,如果希望它包含多個節點,那么可以在它里面嵌套一個View(默認情況下TouchableHighlight組件在點擊時會出現一個黑背景,且標簽大小可能會有所改變,要解決該問題,可以使用屬性underlayColor,將其值設為白色(‘#fff’))
7、在使用導航組件react-navigation時,使用yarn來安裝(yarn add react-navigation),用npm安裝的話可能會存在許多未知錯誤(更不要使用cnpm)
