
react native
Bert丶seven
专注于大前端开发,熟悉移动端、前端各项技术栈
展开
-
lottie-react-native动画无法播放的解决方法
当前使用的版本号:"lottie-ios": "^3.1.8","lottie-react-native": "^3.5.0"遇到的情况:1.动画在手机上无法播放,官网上可以播放;2.动画资源切换之后,动画无法执行;3.android、iOS平台差异,在android可以播放,iOS平台无法播放;4.三星某手机,动画无法播放;(之前一直动画可以执行,某天突然无法执行了,手机恢复出厂设置又好了..)针对以上四种情况:使用方法:<LottieView ref={a...原创 2021-03-15 14:38:46 · 1192 阅读 · 2 评论 -
SectionList与mobx不兼容的解决方案:Attempt to read an array index (4) that is out of bounds (4).
前几天在使用SectionList与mobx合用的时候,遇到了这个warning警告:"Attempt to read an array index (4) that is out of bounds (4). Please check length first. Out of bound indices will not be tracked by MobX"项目使用的版本号如下:"mobx": "^4.3.1","mobx-react": "^5.1.0","react": "16.9.0",原创 2020-10-20 15:35:32 · 1924 阅读 · 0 评论 -
react native Android App当内存不足或者部分Activity被系统回收之后,重启出现的问题
如果你的项目使用的是react native,比如APP MainActivity运行在后台或者手动kill进程之后,这里需要注意的是AndroidManifest.xml文件中当前activity的启动模式就很重要了,不同的启动模式就会让上层RN出现不同的问题:1.如果启动模式是 android:launchMode="standard" 标准启动模式,当应用重启时,那么会重新生成新的MainActivity,同时由于项目中react native 的入口是由MainActivity进入的,所以也会导原创 2020-09-24 15:26:10 · 1032 阅读 · 0 评论 -
react native FlatList设置高度不起作用的解决方法
react native FlatList设置高度不起作用的解决方法:问题场景:即时我们在FlatList 样式style中给设置定高,也仍然会将屏幕剩余部分撑满,那么该如何解决呢?(当前使用的rn版本:"react-native": "0.61.5")方法1.FlatList style中设置 flex-grow:0先来了解一下flex-grow属性:它是用于设置flex的扩展比例。注意:如果当前组件不包含flex的元素,则 flex-grow 属性不起作用。默认情况下,flex-grow 为0..原创 2020-07-30 13:54:35 · 2816 阅读 · 0 评论 -
react native由0.56升级到0.61.5版本之后,关于加载gif图片资源出现的问题
react native由0.56升级到0.61.5版本之后,关于加载gif图片资源出现的问题:1.同一个Image组件在iOS上加载资源,先加载gif,再替换成加载静态图片,UI显示依然为gif的问题:由于在未升级之前,未出现此问题,但升级之后在iOS平台发现无法正常的由gif资源替换到静态图片。经过多次测试验证,确认代码逻辑无误,使用Image组件就会出现gif图片始终占位在原处,最后...原创 2020-05-06 16:08:53 · 887 阅读 · 2 评论 -
react-native打包android apk,资源编译报错的问题
react-native在打包apk时,可能会遇到图片资源编译报错的情况,如下:android\app\build\intermediates\res\merged\release\drawable-hdpi-v4\node_modules_reactnavigationstack_dist_views_assets_backicon.png:error: uncompiled PNG fi...原创 2019-12-02 17:01:11 · 544 阅读 · 0 评论 -
react native moment 时间工具类的使用
react native自带的时间处理方法在实际项目使用过程中有一定的局限性,所以找了个三方的工具类moment,使用起来还是比较方便的,记录一下:1.安装:npm install moment --save 2.引入:import moment from 'moment';3.使用:let nowDate = moment(new Date()); //初始化当前时间let day ...原创 2019-11-19 16:54:57 · 1888 阅读 · 0 评论 -
关于 ReactNativeJS: 'Cannot record touch end without a touch start.'的问题解决方案
关于 ReactNativeJS: 'Cannot record touch end without a touch start.'的问题解决方案发生场景:1.RN的页面;2. 安卓 OnePlus 手机手指截屏会导致app崩溃(正好同事使用的是这款手机,偶然的机会触发了react native的这个bug)crash解决方案:在App.js中import各组件之后添加如下代码:con...原创 2019-11-05 16:55:22 · 1023 阅读 · 0 评论 -
react native封装原生View思路介绍(android篇)
背景:react native自带的view组件有时无法满足项目中一些特殊需求,或者性能、兼容性有待提升,这时往往就需要从原生入手,封装一套UI供RN上层使用。原生UI封装步骤:1.创建一个继承自ViewManager的子类:这里注意到有三个可供继承:ViewManager、BaseViewManager(extend 前者)、SimpleViewManager(extend 前者),我们往...原创 2019-10-24 14:17:02 · 1056 阅读 · 0 评论 -
react native android加载gif的问题
做过react native开发的应该都了解,就是gif资源在未经设置的情况下无法在android机上展示出来,而iOS是支持加载gif的。所以第一次遇到这个问题时,也是困扰了一阵,经本人亲测有效的方法:在android/app/build.gradle文件中的dependencies中添加如下两行代码:implementation "com.facebook.fresco:anim...原创 2019-10-22 15:42:57 · 367 阅读 · 0 评论 -
lottie-react-native的使用
Lottie是适用于Android和iOS的动画库,它通过JSON格式导出的Adobe After Effects动画文件,可以在移动设备上进行渲染加载,以满足项目中经常需要展示的炫酷的动画效果,简单易用且进度可自定义控制。下面简单介绍一下用法:由于react native版本不同,其安装lottie-react-native的方式不同:1.React Native <=...原创 2019-10-22 15:30:19 · 2744 阅读 · 0 评论 -
react native关于生命周期componentWillUnmount在android与iOS设备上的差异
在android机上,无论点击左上角的返回或者物理键返回键,都会及时触发componentWillUnmount(页面销毁)方法,往往我们会在这个方法中移除监听、定时器等。但是在iOS上稍有差异,比如当前页面返回时,并不会立即触发componentWillUnmount方法(几百毫秒之后才会触发),这就可能导致当前页面一些需要移除或重置的内容未能及时处理,而出现一些意象不到的情况发生...原创 2019-10-22 14:42:44 · 1175 阅读 · 0 评论 -
react native Scrollview嵌套ScrollableTabView,ScrollableTabView中嵌套Flatlist展示item不全的问题
之前项目中,遇到过一个问题就是Scrollview嵌套了ScrollableTabView,ScrollableTabView中又嵌套Flatlist,当Flatlist数据超过一屏时,view会被截取,且不可滑动。下面分析一下为什么出现这个问题: 原因:react native 官方组件 ScrollView 默认会撑满父级容器高度。 解决方案:react nat...原创 2019-10-18 08:41:02 · 2468 阅读 · 1 评论 -
如何在MainActivity中使用ReactApplicationContext,让android 可以在原生任何一处向RN上层发送通知
如何在MainActivity中使用ReactApplicationContext,让android 可以在原生任何一处向RN上层发送通知 例如我们app启动的Activity为MainActivity,而MainActivity这里需要继承ReactActivity,然后我们来点进去看下ReactActivity具有的方法,除了通用的activity的生命周期方法,这里有一个方法:...原创 2019-10-16 12:20:14 · 3184 阅读 · 0 评论