
RN学习笔记
文章平均质量分 85
vv_小虫
6 年开发经验,前端架构师,目前主要负责企业级应用前端技术平台建设工作,在前端工程化实现、Node 应用开发、Android 技术、Vue 技术、React 技术、移动开发等方向有丰富实践。
展开
-
React-Native实战之(清理app缓存+Redux合成)
前言:好久没写博客了,因为这段时间一直在搞rn,程序员真是一个苦逼的职业啊,被逼着去学习了下React Native,这东西吧,感觉有点原生app开发经验的童鞋上手还是比较容易的,搞前端的就更不用说了~分分钟就上手了,说多了都是泪啊。。。废话不多说了,先上一篇RN实战中用的一些东西,不为别的,就当笔记了,顺便总结一下所学知识,(ps:实战项目是花了点钱去某宝买的视频,这哥们讲的还不错,需要的童鞋可以原创 2017-01-20 16:31:13 · 13630 阅读 · 1 评论 -
React Native带你实现scrollable-tab-view(二)
上一节React Native带你实现scrollable-tab-view(一)中我们最后实现了我们scrollable-tab-view的效果为: 代码为:/** * @author YASIN * @version [React-Native Pactera V01, 2017/9/5] * @date 2017/9/5 * @description index */......原创 2017-09-05 22:23:33 · 1622 阅读 · 0 评论 -
React Native带你实现scrollable-tab-view(三)
上一节React Native带你实现scrollable-tab-view(二)中我们最后实现了我们scrollable-tab-view的效果为: 我们接下来来实现一下点击某个tab跳转到指定的页面,所以当我们点击了哪个tab我们得回调给scrolltabview,于是我们传入回调函数给DefaultTabBar: /** * 渲染tabview * @private原创 2017-09-06 15:41:56 · 3512 阅读 · 0 评论 -
React Native带你实现scrollable-tab-view(四)
上一节React Native带你实现scrollable-tab-view(三)中我们最后实现了我们scrollable-tab-view的效果为: 还记得我们上一节最后留下的问题吗?比如我们有很多个页面,然后一出来就加载那么多页面的话,再牛掰的手机都扛不住,我们想做的是: 1、第一次加载页面的时候,假设有三个页面,第一次就只加载第一个页面,(用户也可以选择预加载出第二个和第三个页面)。 2原创 2017-09-06 22:27:41 · 2189 阅读 · 2 评论 -
React Native带你实现scrollable-tab-view(五)
上一节React Native带你实现scrollable-tab-view(三)中我们最后实现了我们scrollable-tab-view的效果为: 比如有很多页面,我们的tabview需要跟随scrollview的滑动而滑动:我们现在用的还是默认的tabview,比如我们多加一些页面, 这样肯定不行,我们需要的是上面的那种效果,所以每个view的flex=1这种模式肯定不适合了,我们需原创 2017-09-07 22:22:01 · 1828 阅读 · 0 评论 -
React Native仿某电商店铺首页
前言:有朋友需要实现一个仿某电商app店铺首页的效果,花了一点点时间简单的实现了一下,最后的效果大概是这样的:1、可以看到,当底部的滑动控件滑动的时候tabview滑动到指定的位置后悬浮。 2、当底部的滑动控件滑动的时候状态栏view透明度从0到1的转变。 3、当底部的滑动控件滑动的时候背景view需要根据滑动的距离缩放最后跟状态栏view重合。当然,需求远不止这些,我只是简单的实现了一下功能,原创 2017-08-26 18:51:24 · 4271 阅读 · 2 评论 -
React Native带你实现scrollable-tab-view(完结)
前言:上一节React Native带你实现scrollable-tab-view(五)中我们最后实现了我们scrollable-tab-view的效果为: 我们要做的就只差一步了,那就是点击tab的时候,让指定tab居中,也就是要改变srollview的水平偏移量,但是偏移量控制范围为: (0<=x<=tabcontainer的宽度-container的宽度),也就是scrollview到顶部和原创 2017-09-08 17:54:31 · 5429 阅读 · 3 评论 -
React Native带你一步步实现热更新(CodePush-Android)
前言:无奈研究了一下CodePush,遇到了很多坑~~ 但是原理呢不是很难理解,就是配置有点多,原理可以简单的参考一下我之前的一篇博客React-Native 热更新尝试(Android),下面说一下期间遇到的坑~大家可以看一下官网:https://github.com/Microsoft/react-native-code-push,如果觉得自己英文不太好的话可以看一下这哥们的博客: React原创 2017-09-26 18:12:08 · 2710 阅读 · 0 评论 -
React Native带你从源码解决启动白屏(Android)
前言:最近有点迷茫,学的东西太多,然后感觉有点力不从心,也不知道还能坚持多久这样写博客,不说了~~ 烦!! 撸一下代码平复下心情~React Native中我们都知道,所有的view摆在一个activity中(原谅我只能用android为例子),然后原生android启动的时候,如果后台进程比较多,或者手机比较渣一点的话,多多少少都会看到一个短暂的白屏现象,然后当自己的activity切换到rnac原创 2017-09-22 12:53:02 · 2522 阅读 · 0 评论 -
React-Native webview遇到的坑及android源码解析(一)
前言:因为刚换工作的原因,好久没写博客了,目前一直在做跟rn相关的东西,android已经停滞快半年了,h5也差不多,说多了感觉心累啊,有些东西你不碰的话还真会忘记,真是二者不可兼得额,废话不多说了,最近在看rn的webview,很听很多小伙伴说了,rn的webview很多坑,特别是android!!好吧~那我们就带着小伙伴的需求跟坑一步一步的解析下源码~~一、获取webview的加载进度,r原创 2018-01-17 22:29:14 · 5502 阅读 · 2 评论 -
React-Native带你一步一步实现侧滑删除
前言:好久没有写博客了,回想起刚开始写博客的时候对自己的要求,“每周至少一篇!!!“(还有当初说减肥跟写博客同步进行,结果越减越肥。),嗯嗯,说多了都是泪,最近在一直在学习h5,然后看到现在rn项目中有小伙伴在用一个第三方的侧滑删除控件,于是想去看看那些大神是咋实现的,最后发现,也就这样哈~没想象中的那么难,写这篇博客的目的也就是当作一个学习笔记,大牛勿喷!!2017对我来说是不平凡的一年,期间换...原创 2018-03-13 12:02:52 · 5928 阅读 · 3 评论 -
React-Native带你一步一步实现侧滑删除(二)
上一节我们已经简单的实现了侧滑删除, 我们最后还留了一个小小的功能,那就是当手指抬起的时候,我们需要选择打开或者关闭侧滑功能,我们分几种情况考虑:大的条件分两种: 一、侧滑已经打开 1、抬起手指的时候,如果偏移的距离>=删除按钮距离(打开)1、抬起手指的时候,如果偏移的距离<删除按钮距离(关闭)二、侧滑没有打开 1、抬起手指的时候,如果偏移的距离>=删除按...原创 2018-03-14 11:40:05 · 4839 阅读 · 1 评论 -
React-Native仿某电商商品详情页面
前言: 一周又过去了,一直在赶需求,除了自己利用空余时间学习一下外压根就没时间去研究新东西,唉~程序猿就是这样,活到老学到老!! 废话不多说了,公司产品觉得某电商的商品详情页面很nice,问我们能不能实现(宝宝心里苦),于是研究了一波,下面把我研究的东西分享一下,小伙伴有啥好的实现方式还谢谢分享一下哦~拜谢!先看一下最终实现的效果: ios/android简单来说就是分为两个部分(上...原创 2018-04-01 21:54:38 · 4354 阅读 · 4 评论 -
React-Native发布项目到npm
前言:最近一直在看h5相关的书跟博客,rn偶尔有需求才会动一动,android是真的很少碰了(/忧伤),从h5基础->js->typescript->node->webpack,每天地铁来回两小时的时间我是一点没落下,学习真的是一件很枯燥的东西,贵在坚持,要给自己点鼓励,昨晚还因为自己学习了node,然后写了一个自动发包的小脚本激动了夜晚没睡觉(嗯嗯,就这么点出息了~),所...原创 2018-04-20 10:20:28 · 1590 阅读 · 0 评论 -
React Native打造自己的fetch(二)
前言:前一篇 React Native打造自己的fetch(一)我们已经通过源码带大家走了一遍fetch,感觉吧也不是那么有难度,总结起来就是:rn端通过fetch传递url跟一些参数(header、body)对传入的url跟参数做一系列的封装,封装成 var request = new Request(input, init)然后通过request对象把请求需要的设置给XMLHttpRequ原创 2017-08-23 22:26:34 · 1387 阅读 · 0 评论 -
React Native带你实现scrollable-tab-view(一)
前言:项目中很多地方用到了react-native-scrollable-tab-view这个第三方框架,觉得有必要拿出来研究一下,因为其中也遇到了很多bug,哈哈!都是些小bug,这框架写的还是很牛逼的,所以就开启我们的scrollable-tab-view之旅吧。先看一下react-native-scrollable-tab-view的效果图:小伙伴貌似都比较熟悉此框架,主体分为两个部分: 一原创 2017-09-05 18:24:32 · 1772 阅读 · 1 评论 -
React-Native实战二(清理app缓存+Redux )
前言:前面做了一下rn的清理app缓存功能,下面把前面说的rn中处理页面与页面之间的数据传递问题解决一下,在解决之前,我们先来认识一下什么是redux。先附上redux的官方demo地址:https://github.com/alinz/example-react-native-redux#counter-example 1、什么是redux?redux是一个用于管理js应用状态的容器。redux原创 2017-01-20 17:37:10 · 9352 阅读 · 1 评论 -
react-native源码中给android程序员福利!!
前言:最近在搞react-native,搞过rn的都知道,rn-android其实也就是用js代码去调原生代码的,所以作为一名android程序员是吧,总得看看facebook那些大神写的那些源代码,果然很高端!!!!!是这样子的,因为我们app原生的在做,rn也在做,app有一个保存app中的图片到本地相册的一个功能,在rn中,很方便啊,直接用rn组件CameraRoll就ok了,但是原生app中原创 2017-01-22 10:14:40 · 1333 阅读 · 2 评论 -
React Native 仿ios swtich(双平台)
前言:终于开始做接触公司rn项目了,不容易啊!!! 在项目需求中需要用到switch组件,但是在rn中,switch是基于各个平台自己的风格的,所以ios跟android是不一样的(这就尴尬了!咋办呢?自己定义呗,哈哈~~),不废话了,先看看效果:我们可以看到,rn原生的switch,两个平台中还是很大的差别的,为了跟需求一致(个人觉得android的好看),只好委屈自己去做成跟ios一样的效果,上原创 2017-02-24 12:16:19 · 1047 阅读 · 0 评论 -
React-Native 热更新尝试(Android)
前言:由于苹果发布的ios的一些rn的app存在安全问题,主要就是由于一些第三方的热更新库导致的,然而消息一出就闹得沸沸扬扬的,导致有些人直接认为“学了大半年的rn白学啦~~!!真是哭笑不得。废话不多说了,马上进入我们今天的主题吧。“因为一直在做android开发,所以今天也只是针对于android进行热更新尝试(ios我也无能为力哈,看都看不懂,哈哈~~~)。先看一下效果:怎么样?效果还是不错的吧原创 2017-03-09 00:11:56 · 6431 阅读 · 4 评论 -
React-Native打包发布(Android)
前言:一下搞原生app一下搞rn,搞rn的时候吧想着自己原生都还这么水,搞原生的时候吧觉得自己rn不敲就忘了,都有点力不从心了哈,不过还是加油吧~~~!!!下面说一下react-native怎么发布android apk注意:1、如果你是react-native整合到android项目的话,你可以先看看这篇文章,然后再往下走:如何把React Native嵌入到原生android应用中如果你是执行的原创 2017-03-06 17:15:27 · 14562 阅读 · 0 评论 -
React Native 自定义ProgressBar(双平台)
前言:这些天项目不是很紧,所以比较闲,然后就胡思乱想,居然还想去学校读书,有种想去考研的冲动了哈~~唉唉!又总感觉自己满腔热血想在这大城市闯出自己一片天地,但是又有心无力,尼玛~唯有撸代码才能平复我那不安的小内心啊~废话不多说了,赶紧进入我们今天的主题项目中用到了progressBar,虽然说rn有ProgressBarAndroid跟ProgressViewIOS,但是当我用到ProgressBa原创 2017-03-10 12:24:45 · 8818 阅读 · 1 评论 -
React Native指示器view(简单、高效)
前言:学rn已经一段时间了,还处于入门阶段(好尴尬!),从开始的不懂到后面能敲出点东西的时候,觉得好激动,也为自己点个赞,继续努力!无意中在别人的项目中看到了一个view的方法:setNativeProps()然后习惯性的搜索了一下仿佛发现了新大陆一样:setNativeProps 方法可以理解为web的直接修改dom。使用该方法修改 View 、 Text 等 RN自带的组件 ,则不会触发组件的原创 2017-02-22 10:33:17 · 2049 阅读 · 1 评论 -
React Native(下拉刷新,加载更多)超简单实现!
我们直接进入我们今天的主题了.我们先看一下今天要实现的效果:我们下拉的时候显示“下拉刷新状态“,当滑动到底部的时候自动显示“加载更多“。思路: 1、下拉刷新我们直接使用rn自带的RefreshControl。 2、当我们滑动到scrollview或者listview的最底部的时候,开始显示进度条,然后加载更多。好啦~~我们今天主要要解决的就是怎么判断scrollview或者listview滑动到原创 2017-03-13 17:15:21 · 23520 阅读 · 1 评论 -
React Native坑之(设置请求的连接超时时间)
前言:好不容易rn算是入门了,可能是由于前面ios限制热更新的影响,导致大领导一句话:“防止后期可能存在的风险,所有rn项目不做啦!!“这尼玛就尴尬了~不过没关系,继续做我的原生android,当然,话虽如此,但是不代表我就此止步rn了,学习的脚步还是不能断哦,多一门技术还是没有什么坏处的。好啦~废话不多说了,下面看看最近搞rn遇到的一点小烦恼~~~因为项目中需要调一个接口,然后这个接口呢是有时间限原创 2017-03-13 16:25:35 · 15426 阅读 · 6 评论 -
React Native 带你一步一步实现TabNavitator
前言: 入rn坑已经有一段时间了,想想自己的学习过程还是比较艰辛的啊,唉唉~说多了都是泪啊(虽然现在也还是一个菜鸟),趁着年轻奋斗一下~废话不多说了,刚入rn的时候项目中就有用到github上的一个开源项目TabNavitator,真羡慕那些大牛啊~~ 今天写这篇博客的目的呢,也算是对TabNavitator的一个解析吧,就当个人的一个学习笔记了,大牛略过哈~先上一下TabNavitator在git原创 2017-05-18 17:30:55 · 1241 阅读 · 0 评论 -
React Native 带你一步一步实现TabNavitator(续)
React Native 带你一步一步实现TabNavitator前面我们已经大体实现了TabNavitator,下面我们接着前面的内容继续往下走哈,我们上一节写到了TabNavitator的render方法了: render() { //获取相应的props内容 let{style,children,sceneStyle,...props}=this.props;原创 2017-05-18 17:55:33 · 485 阅读 · 0 评论 -
当React Native遇到https(Android)
前言: 好长一段时间没露脸了,从上家公司跳槽到现在已经2个月的时间了,拿到了两份offer,一个做android,一个做rn,结果最后还是做了rn,当初学rn的时候都没想到rn这东西能挣钱~ 哈哈! 容我装个b,不过也还是不错的,现在公司做的app算是我接手rn真正的一个像样的一个项目,废话不多说了,先看一下我们遇到的问题,欢迎小伙伴入群,欢迎骚扰!公司来了几套测试环境,然后都是需要加证书访问原创 2017-08-11 17:06:11 · 9220 阅读 · 11 评论 -
React Native 指定文字行数,超出行数显示更多
纯属于工具类,简单的说一下原理, 1、在不给text设置numberOfLines的时候计算出text的高度。 2、给text一个特定的numberOfLines,然后再次计算高度。 3、比较两次获取的高度,如果第二次获取的高度<最大高度,说明需要换行,回调给页面。 4、页面通过回调知道需不需要显示“加载更多操作”。用法:<MutiRowText st原创 2017-09-05 17:19:44 · 11689 阅读 · 2 评论 -
React-Native与原生页面混合路由策略(Android)
前言:做rn项目的时候,有可能会碰到有些页面是原生做的,有些页面是rn做的,那么rn页面与原生页面相互跳转的时候就很尴尬了,尴尬也得解决啊(rn存在的目的就是为了干掉原生页面,现在你硬是混合开发,怪我咯?) 先说一下目前遇到的坑: 因为我们目前所有的rn页面都在一个叫RNActivity的容器中,所以rn页面要跳转原生页面时候,调用native的jump方法开启一个叫原生activity的...原创 2018-05-06 17:47:25 · 4140 阅读 · 4 评论