React-Native 错误记录

1.使用require产生的路径错误

这个应该是属于文件路径错误导致的。

当我使用require('image!pintu')语句,就会出现这个错误。

或者在index.android.js以外的文件内使用require("./data/moviedata.json")也会出现这个错误,

然后http://localhost:8081/index.android.bundle?platform=android 这个网址也会报错。

第一种情况可能是从0.14版本开始引用静态图片等方式改变了,不再使用require('image!logo')的方式

第二种情况,只要将路径改为require("../data/moviedata.json")即可(没错,就多了一个".").

img_3cdd0c1da89b9f1c14371dc0fb1e47c6.png


img_419b23acb5c96c01796fbcaba73cded6.png
http://localhost:8081/index.android.bundle?platform=android报错

2.Cannot call a class as a function

img_0c720dbd52527aefdb58948a34c83ce3.png
错误图片

这个大多因为写错、写漏单词引起的,有点麻烦。我就简述一下我的情况:

img_565bbfbddd7855d9004bf6fb95ca6d51.png

我是由于写漏一个"new"导致的错误。

img_bc10e76036954c4f77ab93f5cd1d8a5d.png

3.StaticRenderer.render():A valid React element(or null)...

img_698a0af8889a5ad5a65a9bb4eeefac4c.png

出现这种是因为:该写return的函数没有写return.

img_d8f33c29a146a671d2e904d38fd0efa7.png
该有return却没写return

写上return后问题就消失了。

img_07fa6e7e47e5f721026a6ededa550cf9.png
写上return之后

4.Navigator is deprecated and has been removed from this package.

img_29608d571930cad8977e80c157567c46.png

具体意思是,Navigator组件已经从react-native这个包中移除了,现在要通过安装并导入react-native-deprecated-custom-components这个包来使用Navigator。具体步骤如下:

1.找到项目根目录,在控制台输入:

npm i react-native-deprecated-custom-components –save

img_0ce45aeae5d80bd27549c8f8c3852078.png

(ps.我在项目根目录直接会失败,然后我在上级目录(ReactDemo)先安装一次,再进入根目录(AwesomeProject)安装,这下才成功。原因我不晓得。)

2.在导入react-native-deprecated-custom-components

通过:importNavigatorfrom'react-native-deprecated-custom-components';


img_1c65232f4b393168a239e3c969c22a44.png

3.将之前的Navigator改为Navigator.Navigator

img_0b1764e101c664fb768cbc353641c59f.png
img_51bf0b7fdfe483263a3572c7720eeca4.png

5.com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException

当时我更改了电脑的密钥,把我的win10家庭版升级到了win10专业版(期间来来回回更改了很多设置),

然后我将项目运行到模拟器上时,出现了这个错误。

我查了一下网上的资料,可能是gradle文件出错。我回想了一下,当初我曾更改过两个文件的代码(如下两行)

classpath 'com.android.tools.build:gradle:1.2.3' (build.gradle中改动过的代码)

distributionUrl=https\://services.gradle.org/distributions/gradle-2.2-all.zip (gradle-wrapper.properties中改动过的代码)

随后我新建了一个工程,把这两行代码改成新工厂的一样,就可以正常运行了(具体操作如下)

解决:在工程的android文件夹下找到build.gradle和gradle-wrapper.properties文件(如下图,app文件夹是我自己创建的)

img_ca198e7e33e70e5cec68433e37ebe5d5.png

然后将build.gradle的classpath改为:com.android.tools.build:gradle:2.2.3

img_531da359b8c629a8a3160bec3d31abb9.png
build.gradle文件

将gradle-wrapper.properties的distributionUrl改为:https\://services.gradle.org/distributions/gradle-2.14.1-all.zip


img_12515d243da44bfd23e0d22df016650a.png
gradle-wrapper.properties文件

不过这么做,可能会无法在国产手机上运行。

暂时没找到完美的解决办法

6.java.io.IOException: Could not delete path'D:\Work\ReactDemo \AwesomeProject\android\app\build\XXXXXXXXXXXXX


img_192744e0c10f40263ef741d2ef75fee4.png

手动删除android\app\build下的内容,在重新运行就好了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值