ReactNative進階(一):ReactNative學習資料匯總

      網友投稿 836 2022-05-29

      目前主流的移動跨平臺技術方案大體可以分為三類,

      使用原生內置瀏覽器加載HTML5的Hybrid技術方案,采用此種方案的主要有Cordova、Ionic和微信小程序;

      使用JavaScript語言進行開發,然后使用原生組件進行渲染,采用此方案的主要有React Native、Weex和輕快應用;

      使用自帶的渲染引擎和自帶的原生組件來實現跨平臺,采用此種方案的主要是Flutter。

      對于其他的瀏覽器方案,基本可以拋棄了,相比較React Native和Flutter,React Native和Flutter在應用開發上,效率差不多,不過要強調性能的話,還是Flutter為最佳選擇。

      前言

      在Vue開發一段時間后,發覺自己遇到了瓶頸期。需要學習新技能激活自己,選擇ReactNative開發移動端。

      首先在環境搭建方面,自己時花費了2天的時間才將開發環境搭建好,有點費事費力,

      設備選擇:

      環境搭建過程中,居然還區分芯片,也是醉了。

      常見問題

      【MAC】打不開“XXXX Installer”,因為它來自身份不明的開發者。

      MAC經常會安裝一些非AppStore的軟件會報安全提示,由于蘋果系統安全策略問題。隔空傳送接收的文件也會遇到上面的問題。

      打不開“XXXX Installer”,因為它來自身份不明的開發者。

      此時查看一下設置

      mac 安裝homebrew出錯 Failed to connect to raw.githubusercontent.com port 443: Connection refused error

      應用如下命令安裝homebrew時,

      /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

      開始一直報錯Failed to connect to raw.githubusercontent.com port 443: Connection refused error: Error: 7,

      原因:由于某些你懂的因素,導致GitHub的raw.githubusercontent.com域名解析被污染了。

      解決辦法:通過查詢查詢真實IP,然后修改hosts解決此問題。

      在https://www.ipaddress.com/查詢raw.githubusercontent.com的真實IP。

      可知,該域名對應實際IP為4個,選擇其中一個IP進行hosts文件配置即可。

      修改hosts

      sudo vim /etc/hosts

      添加如下內容:

      185.199.111.133 raw.githubusercontent.com

      Could not find tools.jar. Please check that /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home contains a valid JDK installation.

      在~/.zshrc (或 ~/.bashrc )文件中加入一句

      export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home

      注:根據自己的實際JDK路徑修改上面的JDK路徑。

      查看JDK位置的命令 /usr/libexec/java_home -V(在MacOS11.1,執行這個命令可能看到兩個路徑,一個是JDK的實際路徑,另一個是:/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home(這個是JRE路徑)。

      下載最新版的JDK并安裝:

      點擊下載

      執行如下操作:

      sudo cp /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/lib/tools.jar /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib

      注:根據自己的實際JDK路徑修改上面的JDK路徑

      查看環境變量配置

      在項目終端安裝完brew之后,在另一項目下,輸入brew -v ,提示“command not found”,懷疑是由于環境變量為配置導致的,執行如下操作:

      vim ~/.zshrc

      在文檔中追加如下內容:

      # 如果你不是通過Android Studio安裝的sdk,則其路徑可能不同,請自行確定清楚 export ANDROID_HOME=$HOME/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/emulator export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/tools/bin export PATH=$PATH:$ANDROID_HOME/platform-tools export PATH=/opt/homebrew/bin/:$PATH export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

      保存之后,執行source ~/.zshrc ,使環境變量實時生效。

      Error: EMFILE: too many open files錯誤

      ReactNative進階(一):ReactNative學習資料匯總

      構建項目時終端反復出現Error: EMFILE: too many open files錯誤,經排查是因為項目較大,發布過程中已經超過了mac默認的文件監聽上限,錯誤信息如下:

      解決方式也比較簡單,只要修改文件最大上限即可。

      首先打開終端,輸入launchctl limit并回車,可以看到下圖:

      注意,上圖我是已經修改過了,正常情況最后一行的maxfiles為maxfiles 256 unlimited,因為只有256,確實很容易超出。

      再次輸入sudo launchctl limit maxfiles 524288 524288并回車,這里會提示輸入密碼:

      這里的密碼就是mac解鎖密碼,輸入密碼后即設置成功,再次輸入launchctl limit回車,可以看到已經修改成功。

      當然上述命令中的524288并不是硬性要求,隨便什么數字都行,具體也請根據自身電腦配置情況來設置。

      補充技能

      由于之前均是使用公司Windows系統進行項目開發,現在使用個人Mac進行開發,Linux命令操作均需要進行技能學習。

      先補充下,Mac下文檔光標定位技能。

      「Command + 方向鍵上」將光標快速移動到整篇文本開頭,類似的,「Command + 方向鍵下」快速移動到文章結尾。

      「Option + 方向鍵上」將光標移動到當前段落的開頭,「Option + 方向鍵下」移動到當前段落的末尾。

      需要注意,如果光標在段落的開頭,「Option + 方向鍵上」可以將光標移動到上一段落的開頭,而光標在段落結尾時,「Option + 方向鍵下」則將光標移動到下一段落的結尾。

      「Command + 方向鍵左」,將光標移動到句子的開頭,「Command + 方向鍵右」,則是移動到句子的末尾。

      「Option + 方向鍵左」,將光標移動到前一個單詞,「Option + 方向鍵右」,將光標移動到單詞。這里有幾點要注意一下:

      如果光標的初始位置在單詞的開頭,向前移動時,自動移動到前一個單詞的開頭。

      如果光標的初始位置在單詞的結尾,向后移動時,自動移動到后一個單詞的結尾。

      如果光標的初始位置在單詞中間,則光標向前移動時,移動到當前單詞的開頭,向后移動時,移動到當前單詞的結尾。

      以按下組合鍵「Option + Shift + 方向鍵上」,即可選中光標所在位置到段落開頭的所有文本。按下「Option + Shift + 方向鍵下」,則是選中光標所在位置到段落結尾的所有文本。

      「Option + Shift + 方向鍵左/右」可以選中一個單詞,「Command + Shift +左/右」可以選中一句話。

      mac中delete鍵的5種用法

      第一種:按 delete 鍵,實現 Windows 鍵盤上退格鍵的功能,也就是刪除光標之前的一個字符(默認);

      第二種:按 fn+delete 鍵,刪除光標之后的一個字符;

      第三種:按 option+delete 鍵,刪除光標之前的一個單詞(英文有效);

      第四種:結合第二種,按住fn+option+delete,刪除光標之后的一個單詞;

      第五種:選中文件后按 command+delete,刪除掉該文件。

      Visual Studio Code(VSCode) Mac應用快捷鍵

      光標移動

      移動到單詞的最前面:option + ←

      移動到單詞最末尾:option + →

      將當前行代碼移動到上一行:option + ↑

      將當前行代碼移動到下一行:option + ↓

      移動到當前行最前面:cmd + ←

      移動到當前行最末尾:cmd + →

      花括號之間跳轉:cmd + shift + \

      移動到文檔第一行或最后一行:cmd + ↑ / cmd + ↓

      文本選擇

      基于單詞,行,文檔的光標操作加上個shift鍵,就可以移動光標的同時選擇文本;例如,選擇當前光標所在位置到當前行最前面的代碼:cmd + ← + shift

      刪除操作

      刪除當前行光標后的所有字符:cmd + fn + delete

      刪除當前行光標前的所有字符:cmd + delete

      刪除當前單詞光標后的字符:option + fn + delete

      把當前單詞光標前的字符刪除:option + delete

      添加注釋

      注釋一行代碼:cmd + /

      注釋一整段代碼:option + shift + A

      格式化代碼

      格式化代碼:option + shift + F

      格式化選中行代碼:cmd + K cmd + F

      代碼縮進:cmd + shift + P

      文件、符號、代碼之間的快速跳轉

      control+ tab(同時按住),繼續按著control鍵,松開tab鍵: 打開當前打開文件的列表,選擇要打開文件,松開control就能打開對應文件

      cmd + P打開最近打開文件列表,同時列表頂部出現搜索框,搜索文件名,回車(enter),可以再當前窗口打開對應文件;使用cmd + enter會在新的編輯器窗口打開這個文件

      control + G:行跳轉,輸入對應數字回車,可以跳轉到當前文件的當前行

      cmd + P(輸入文件名 + “:” + 行數):跳轉到指定文件的指定行數

      cmd + shift + O:調出當前文件的符號(函數名等),使用方向鍵或者搜索,回車,就能跳轉到你想要的符號;如果輸入“:”可以對當前文件的所有符號進行分類

      cmd + T:打開多個文件,搜索多個文件中的符號

      F12:跳轉到函數的定義處

      cmd + F12:跳轉到函數的實現位置;注:js中沒有接口的概念,定義和實現是相同的,所以js中的F12和Cmd + F12效果是一樣的

      shift + F12:打開函數引用的預覽(把光標放在函數或者類上,按shift+F12可以打開一個引用列表和內嵌編輯器)

      鼠標操作

      在vscode中,

      單擊鼠標左鍵:把光標移動到響應的位置;雙擊鼠標左鍵:將當前光標下的單詞選中;三擊鼠標左鍵:選中當前行代碼;四次點擊鼠標左鍵:選中整個文檔;

      鼠標左鍵單擊行號:直接選中所在行;選中后,再按著shift,鼠標左鍵再次選擇行:可以選中多行代碼;

      懸停提示窗口:當鼠標移動到某些文件上之后,一會就會顯示跟鼠標下文本相關的信息;如果鼠標放在某個函數上,按下cmd時,則能在懸停提示的窗口上看到該函數的實現。

      代碼的跳轉和鏈接:如果我們把鼠標放在函數上時,函數下方會出現一個下劃線,然后當我們按下鼠標左鍵時,就能跳轉到該函數的定義處。cmd + 鼠標左鍵,跳轉到函數、變量定義的地方。當我們再編寫Markdown這樣的非編程語言的文檔時,還可以通過cmd+鼠標左鍵能打開超級鏈接。

      拓展閱讀

      RN官網(強烈建議閱讀,尤其是環境搭建環節)

      Android Studio官網

      Git教程

      react-native-guide(ZH)

      https://github.com/jondot/awesome-react-native(EN)

      JDK Mac OS

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:java生成mysql數據庫建表語句、字段、字段類型、字段注釋,可實現不用mysqldump備份數據庫
      下一篇:線上MySQL讀寫分離,出現寫完讀不到問題如何解決
      相關文章
      亚洲色图国产精品| 亚洲AV永久精品爱情岛论坛| 78成人精品电影在线播放日韩精品电影一区亚洲 | 亚洲JIZZJIZZ妇女| 亚洲AV无码无限在线观看不卡 | 亚洲Av无码乱码在线播放| 亚洲AV女人18毛片水真多| 亚洲av无码专区首页| 久久久久亚洲国产AV麻豆| 豆国产96在线|亚洲| 在线观看亚洲视频| 亚洲国产成人VA在线观看| 亚洲第一区在线观看| 亚洲午夜精品一级在线播放放| 亚洲色偷拍区另类无码专区| 亚洲男人天堂2020| 奇米影视亚洲春色| 亚洲精品无码成人片久久| 亚洲成AV人片在| 亚洲五月六月丁香激情| 亚洲日本一区二区| 亚洲白色白色永久观看| www.亚洲日本| 亚洲另类自拍丝袜第五页| 国产亚洲欧美日韩亚洲中文色| 激情小说亚洲色图| 亚洲区小说区图片区| 亚洲色欲久久久综合网| 久久国产亚洲观看| 亚洲国产亚洲片在线观看播放| 77777亚洲午夜久久多喷| 亚洲国产精品自在自线观看| 五月天婷亚洲天综合网精品偷| 精品国产亚洲一区二区在线观看| 亚洲精品乱码久久久久久蜜桃不卡| 亚洲高清在线观看| 色婷五月综激情亚洲综合| 亚洲国产精品18久久久久久 | 亚洲福利一区二区| 亚洲精品无码成人| 久久亚洲av无码精品浪潮|