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