ReactNative踩坑记

变化1:

注意在最新的0.51版本的reactNative的引入外部组件的方式发生了变化

之前的引入方式: 

 

注意下方有绿色的波浪线一般语法上都有问题,所以运行在模拟器上也会报response 500的错

0.51的引入方式:

import Main from "./Component/Main/XMGMain"
 
 

变化2 :

0.51 组件导出和创建组件类的方式也方式变化

之前的导出方式:


现在导出的方式:


之前创建class的方式:


 现在创建的class方式和导出合并在一起,如上面第二张图

异常1:


原因:现在的reactnative 版本中的react-native包中navigator已经被去除了,要下载需要去其他包中

解决:cmd----》进入项目的根目录,输入npm install react-native-deprecated-custom-components --save

----》在项目js中引入即可

 import {Navigator} from ‘react-native-deprecated-custom-components’;


异常2:

 

这个异常就是模拟器连接断开了

解决:在任务管理器中找到adb.exe进程删除,在进入项目根目录输入react-native run-android 重启即可

异常3:


注意,这个异常有点不好看到真正错在哪了,因为直接首部给你报了个 response 500 ,但我们仔细看下下面的老长的报错解释还是能发现关键的,首先输出的报错信息是一种json格式,其中有个属性是‘lineNumber’指定了出错的可能位置,记得是可能位置,一般是它指定的位置以及向上的位置,紧接着在lineNumber下面的第二个属性'name' 指定了错误的类型,这里是SyntaxError(语法错误),在下面紧接着是massage,这里描述了错误的原因,从中可以看到原来错误的文件是App.js ,错误的描述是Duplicate daclaration \"Navigator\" ,就此定位到了错误的大概位置和知道了错误的原因。

注意一般错误也会在reactNative:8081服务器上显示,有时reactNative显示的错误更加直观,如下面



异常4: 

java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException

而且react服务器闪退


解决方案: 1.先删除任务管理器中的所有adb.exe进程,重新运行reactnative项目

                  2.删除C:\Users\Administrator\firstDemo\android\app\build\generated\source\r\debug目录下的文件

                 3.重新创建react-native项目,注意不要在c:\user/adminstator 中创建,因为这会导致一定的权限问题而使项目启动报这种错误!(我是这个原因)

异常5:

   DeviceException Could not create ADB Bridge错误

解决方案: 1.这里我的原因是在系统变量中配置的path中的指向android 的platform-tools没有生效,所以直接将platformtools的路径直接写进去,从而成功了,不在使用%ANDROID_HOME%\platform的方式

                      2.删除任务管理器中的java.exe、adb.exe、360手机助手,再次重新启动

外链接: 常用错误汇总:

https://blog.csdn.net/chichengjunma/article/details/52943013

猜你喜欢

转载自blog.csdn.net/qq_35394891/article/details/80367985