一般問題
1、RN和React.js是一個東西嗎猫牡?
RN和React.js共用一些抽象層胡诗,但具體有很多差異,且目標平臺不同:RN目前只能開發(fā)iOS/Android App淌友,而React.js用于開發(fā)web頁面煌恢。
2、RN可以在windows下開發(fā)嗎震庭?
對于iOS開發(fā)瑰抵,可以通過虛擬機或黑蘋果等方式,但很麻煩也不推薦器联。做iOS開發(fā)二汛,遲早你都需要一臺Mac電腦婿崭。
對于Android開發(fā),理論上沒問題肴颊。但由于FB的員工基本都用mac氓栈,沒有怎么管過windows兼容性,所以目前的版本可能在windows上會遇到一些問題婿着。
3授瘦、RN所支持的最低iOS和Android版本?
Android >= 4.1 (API 16)
iOS >= 7.0
4祟身、RN和cordova/phonegap是一個東西嗎奥务?
不一樣。RN不是一個webview(但包含了webview組件)袜硫,不能直接復用web頁面代碼氯葬。RN的性能接近原生,超過cordova/phonegap婉陷。
5帚称、可以使用現有的js庫嗎?
由于RN理論上更接近nodejs的運行環(huán)境秽澳,所以對nodejs的庫兼容更好一些闯睹。瀏覽器端的js庫,涉及到DOM担神、BOM楼吃、CSS等功能的模塊無法使用,因為RN的環(huán)境中沒有這些東西妄讯。
環(huán)境搭建與編譯問題
1孩锡、創(chuàng)建新項目,react-native init AwesomeProject
命令長時間無響應亥贸,或報錯shasum check failed
網絡原因躬窜,react-native命令行從npm官方源拖代碼時會遇上麻煩。請將npm倉庫源替換為國內鏡像:
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
另炕置,執(zhí)行init時切記不要在前面加上sudo(否則新項目的目錄所有者會變?yōu)閞oot而不是當前用戶荣挨,導致一系列權限問題,請使用chown修復)
2朴摊、運行react-native run-android時報錯默垄,報錯信息中含有Could not find tools.jar
等字樣
重裝JDK1.8
3、運行react-native run-android時報錯仍劈,報錯信息中含有SDK location...ANDROID_HOME
等字樣
請對照官方文檔厕倍,配置ANDROID_HOME環(huán)境變量。
4贩疙、運行react-native run-android時報錯讹弯,報錯信息中含有No connected devices!
字樣
既然是沒有connected devices况既,那你就connect一個device咯!(usb連上真機组民,或啟動一個模擬器)棒仍。
5、運行react-native run-android時報錯臭胜,報錯信息中含有Unable to upload some APKs!
字樣
降級gradle版本
6莫其、真機上運行時白屏!
請找到并打開懸浮窗權限耸三。比如miui系統(tǒng)在這里打開懸浮窗權限乱陡。
12、RN所支持的最低iOS和Android版本仪壮?