react-native 調試大法

react-native調試不友好,不像web端可以直接定位到具體組件,還可以選擇相應的代碼塊。
主要調試工具可以配合使用Android Studio,Chrome,終端,真機提示等,我用的IDE是VS Code,一般使用Developer Menu中的debug in remotely,根據打印在Chrome控制檯的信息進行開發。
這篇詳細的關於Developer Menu的文章,比官網描述詳細,值得一看
React Native調試技巧與心得

補充幾點:

  1. 在虛擬機上進行調試可以通過雙擊R鍵進行reload
  2. 調試時只能有且只有一個機器(虛擬機或真機)連接可以使用adb devices來查看當前連接設備。
    在Android5.0以上設備上,將手機通過usb連接到你的電腦,然後通過adb命令行工具運行如下命令來設置端口轉發
    adb reverse tcp:8081 tcp:8081
    而且,除了搖晃手機,還可以使用adb shell input keyevent 82來調出Developer Menu
    如果你的終端無法識別adb命令,應在終端或者iTerm界面運行如下命令:
    open ~/.bash_profile
    這樣就開了配置文件,然後在zshrc文件裏面添加如下配置:
    export ANDROID_HOME=/Users/*****/Library/Android/sdk(後面配置的是你係統存放SDK的目錄)
    然後使用下面的命令保存並應用文件
    source ~/.bash_profile(這個表示默認把系統的配置文件拿過來了)
    然後就OK了,小夥伴們可以愉快的玩耍了
  3. 有時候Debug JS Remotely無法連接,此時可以先檢查Chrome中打開了幾個調試頁面,只保留其中一個並檢查網址是否是http://localhost:8081/debugger-ui ,因爲有時候localhost會被替換成ip地址而無法連接,如果還不能連接,保證該網頁開啓的情況下,再重新跑react-native run-android/ios命令
  4. 如果你想在Chrome的network面板看到應用網絡信息,可以在react-native\Libraries\Core\InitializeCore.js -> 搜索 XMLHttpRequest,註釋掉 polyfillGlobal('XMLHttpRequest', () => require('XMLHttpRequest'));
    再在真機或模擬器reload 查看Network面板,此時就可以查看到我們的fetch請求了。需要注意的是,當我連接公司內網並需要在請求中加入token的時候,註釋掉這行代碼會導致錯誤。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章