变化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