React Native移动端开发杂记

no packager (error code 101)

比较完整的报错信息如下:run-android --no-packager 时出错 (error code 101)
如果应用代码本身没有严重的问题,VSCode调试时出现这种无厘头的报错可以在Node命令行窗口中通过下面的命令来解决:

// 已经定位到工程目录下
cd android
gradlew clean 

第二行命令将用于清除android目录下的build文件夹
参考链接

Execution failed for task ‘:app:transformDexArchiveWithDexMergerForDebug’.

完整报错信息如下:

* What went wrong:
Execution failed for task ':app:transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
  The number of method references in a .dex file cannot exceed 64K.
  Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html

报错原因:应用中有超过64K的方法(包括依赖项)
解决方案

JS如何将数组逆序排列

开发的应用中有类似于时间轴的功能,如果历史记录太多不容易查找需要逆序排列,将UI组件对象的数组逆序排列即可,这里记录两个方法:

array.unshift(插入到数组开头的元素)  // 与push()相对应
array.reverse()	  // 将数组中已有的元素逆序排列

可以参考这篇博客

如何判断对象是不是字符串

typeof(obj) == 'string'

for in 和 for of 的区别

for in // 迭代数组或对象的索引
for of // 迭代数组的内容

如果对对象使用for of会报错。

关于JS对象的深拷贝

下面深拷贝的方法是一个通吃的解决方案,可以对多层嵌套的对象进行深拷贝。

JSON.parse(JSON.stringify(obj))

关于组件的绝对位置

需要组件设置为绝对位置,如果想让它显示在其他已有组件的上层,那么应该将它写在已有组件的后面。

<View>
	<其他组件>
	...
	</ 其他组件>
	<绝对位置组件 style={{position: 'absolute'}}>
	</ 绝对位置组件>
</ View>
发布了2 篇原创文章 · 获赞 0 · 访问量 99

猜你喜欢

转载自blog.csdn.net/Cui_Hongwei/article/details/103828261