自動重裝系統以後,已經很長一段時間沒有來寫React Native了,今天空閒之餘,決定從新配置React Native的開發環境,繼續踩坑...node
React Native的開發環境配置狠簡單,只要依照網上給出的步驟,複製粘貼,在終端下操做就行。react
React Native中文網開發環境配置npm
當一切都已完成以後,我懷着激動的心情,打開了Xcode,嘗試運行一下,查看開發環境是否正常。react-native
完美~~~一切都是那麼的完美,Welcome to React Native!babel
我真是天才,一次性成功,牛逼吧!!O(∩_∩)O哈哈~,,,(老和尚賣瓜,自賣自詡,O(∩_∩)O哈哈~)ui
閒話很少說,開始記錄記錄此次開發環境配置過程當中遇到的坑。spa
一、安裝react-navigation時使用的是npm,結果在添加react-native-gesture-handler依賴庫時,出現各類問題,錯誤提示已經找不到了。說下解決辦法:
之後若是安裝過程當中出現npm * fix這類的,估計就玄乎了,能夠試下yard來安裝。建立項目是後面跟上—version 0.56.0當前版本號。若是不知道的能夠去react native官網查看。如下四步:按順序操做就行。
react-native init AwesomeProject —-version
0.56
.
0
yarn add react
-
navigatio
yarn add react
-native-gesture-
handl
react
-native link
二、錯誤提示:Build input file cannot be found: '/Users/***/Desktop/reactnative/AwesomeProject/node_modules/react-native/third-party/double-conversion-1.1.5/src/strtod.cc'
解決辦法:設計
Xcode:」file」->」project setting」->shared Porject settings:build system:’legacy build system
三、錯誤提示:bundling failed: Error: Unable to resolve module `@babel/runtime/helpers/objectSpread` from `/Users/***/Desktop/reactnative/AwesomeProject/node_modules/react-navigation-stack/lib/module/views/Header/HeaderBackButton.js`: Module `@babel/runtime/helpers/objectSpread` does not exist in the Haste module map。
解決辦法:code
yarn add @babel/runtime --dev
四、錯誤提示:react native with error:(SyntaxError:******* Unterminated string constant (21:6)
解決辦法:看下是否有輸入錯誤狀況存在,這種狀況,mac終端下通常都會進行標記。blog
五、坑爹描述:修改navigation返回按鈕上的文字不起做用。
好比A->B,我在B的頁面上寫如下代碼,沒卵用。
static navigationOptions = {
headerBackTitle:null,
};
百度了好久也沒有這種問題的解決辦法,最後看文檔,找到了答案,以下:
![](http://static.javashuo.com/static/loading.gif)
意思是:若是須要修改B上的返回按鈕文字,須要在A中去寫。尼瑪,這種反人類設計,是誰設計的?修改以下:
StackNavigator({
A: {
screen: AScreen,
navigationOptions: () => ({
title: `A`,
headerBackTitle: null
}),
},
B: {
screen: BScreen,
navigationOptions: () => ({
title: `B`,
}),
}
});