React Native学习问题记录

最近做了一个RN的项目,RN小白,自然遇到了不少问题,这里记录一下。

  1. 命令行下启动IOS版本时出现如下错误:
    xcrun: error: unable to find utility "instruments", not a developer tool or
    
    这个是装完xcode后模拟器无法识别的问题,解决办法是在终端下执行如下命令:
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer/
    
  2. 终端命令启动某个APP时,出现红屏错误,而上面显示的错误信息表明加载代码的路径与当前要运行的代码路径不相符。这个错误应该是你上一次运行了另外一个APP,而当你再次运行第二个不同的APP时没有把上一个APP的终端监听给关掉。此时只需要关闭react-native start的监听终端即可,然后重启APP
  3. 在使用react-devtools查看APP的布局结构时,出现如下信息而无法链接上APP
    Waiting for React to connect
    
    在终端下执行如下命令,然后重启react-devtools即可
    adb reverse tcp:8097 tcp:8097
    
  4. ScrollViewTextInput的焦点问题。当ScrollView中存在TextInput时,当输入完文字后,TextInput会还占用焦点,导致ScrollView内的其他元素需要点击两次才能起作用,这时需要设置ScrollView的如下属性:keyboardShouldPersistTaps="handled"即可
  5. 针对软键盘遮挡问题,我试了几种方案,发现下面两种方案比较简单有效:
    • RN官方提供的KeyboardAvoidingView方案最简单有效
    • 另外一种方案是自己监听软键盘的打开与关闭然后结合Animated动画来实现软键盘的遮挡问题,这种方案比较灵活
  6. IOS启动指定版本模拟器: react native run-ios --simulator "iPhone X"
  7. Android打包失败,信息如下:
    * What went wrong:
    Execution failed for task ':app:bundleReleaseJsAndAssets'.
    > A problem occurred starting process 'command 'node''
    
    这个错误的可能原因是gradle deamon的缓存问题,关掉cradle deamon,重新再执行一次就可以解决
    ./gradlew --stop
    

版权声明:本文为huyongl1989原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。