React Native 项目快速开发库,超实用!

rufeng008 14天前 19

分享一款超实用的,RN 快速开发库:react-native-easy-app 。一款为 React Native App 开发提供基础服务的纯 JS 库(支持 IOS & Android),可以为开发者开发项目提供强有力的支持,可以大幅度提高编码的效率,特别是在项目搭建初期,至少可以为开发者减少 30%的工作量。

由于前面的文章已经做过介绍,在这里就不详细介绍了,通过本开源库,你可以有以下“高级的操作”:

  • 可以像访问内存对象一样访问 AsyncStorage 相关文章:一分钟实现,一个 RN 持久数据管理器; react-native-easy-app 详解与使用之(一) AsyncStorage

  • 只需要几十行代码就能实现,一个完整的 app 与服务器的 Http 请求交互 相关文章:二十分钟封装,一个 App 前后台 Http 交互的实现; react-native-easy-app 详解与使用之(二) fetch

  • 一行配置 + 基础组件的使用就即可以实现,UI 自动屏幕适配 相关文章:详解与使用之(三) View,Text,Image,Flatlist; react-native-easy-app 详解与使用之(四)屏幕适配

另附有多个不同版本的 Demo 供大家参考用法: Sample Sample_Mobx Sample_Redux

以下为 Sample_Redux 示例程序的 UI 部分截图:

redux_demo.png

开源库中也有详细的 README 说明文档,如下图:欢迎大家使用,感谢 Star ! 是不是想进一步了解一下啦?那赶紧点击链接 react-native-easy-app 进去看看吧?

RN_easy-app.jpg

最新回复 (9)
  • qile1 11天前
    引用 2
    我想问问为啥图片看不到,是不是需要爬墙后才能?
  • metrue 11天前
    引用 3
    我自己觉得 iCloud 同步是个刚需
  • wxsm 11天前
    引用 4
    不好意思,我看了你的项目。但是不太明白:

    1. “可以像访问内存对象一样访问 AsyncStorage”解决的问题是什么?为什么要这么做?
    2. “只需要几十行代码就能实现,一个完整的 app 与服务器的 Http 请求交互”跟我直接用 axios 之类的 Lib 有什么区别?
    3. “一行配置 + 基础组件的使用就即可以实现,UI 自动屏幕适配”跟我直接自定义一个响应式单位有什么区别?

    注:响应式单位,如:const pt = PixelRatio.roundToNearestPixel(px / (DesignWidth / DeviceWidth));

    因为我本身用 RN 也不少,所以我看你的描述觉得很疑惑,你的 lib 到底能帮助人解决什么问题?
  • 楼主 rufeng008 11天前
    引用 5
    @qile1 不太清楚图片为啥时不时就丢了,可能是 V2EX 的原因吧,一时能显示,一时不能显示,你可以直接点击库的链接跳转到 github 上看,其实,也是 github 的 readme 文件的截图^_^。
  • 楼主 rufeng008 11天前
    引用 6
    @metrue 没太懂你说的 iCloud 同步是啥意思。
  • wolfan 11天前
    引用 7
    @qile1 是的。
  • 楼主 rufeng008 11天前
    引用 8
    @wxsm 一两句话说不清楚,你可以点击链接进入我的 github 或者进入简书介绍看详细内容,另外 github 上有 QQ 群,可以加 QQ 群详聊。至于上面我提的几点我简单的解释一下:

    1 、可以像访问内存对象一样访问 AsyncStorage: 简单来就写了一个暂且叫“绑定器”吧,它的功能是实现把开发者传入的一个普通对象(持久化对象)与 AsyncStorage 进行绑定,用户只需要对这个普通的对象的要关属性进行取值,赋值。绑定器就会自动把这个值映射到调用 AsyncStorage 相应的 getitem 与 setItem 方法,实现将数据 [存] 或者从持久化存中取出来,这样使开发者对持久化数据存储变得方便多了。

    2 、我的库与 axios 等库有一定的相似性,不过封装的更多一点儿,即使不做一行代码配置,直接请求,也能返回基本,success,json,msg,code,response 等基本信息。

    3 、跟你自定义式的原理是一样,不过, 我这边处理是需要使用 X 系列控件,这些控件针自动对涉及到尺寸的相关属性自动计算缩放后的结果,并不需要,你在设置组件属性的时候去调用你上面的 roundToNearestPixel 这个方法,所以从开发者的角度来说,这个组件尺寸缩放是“不可见的”,因为只需要设置一次屏幕参考尺寸就行了,当然,如果部分组件不想用,也有属性可以屏幕缩放功能
  • ccraohng 11天前
    引用 9
    ts 支持为零。
    你所谓的 AsyncStorage 是需要是先声明属性,这个真的能用吗?
    请求不是现有的库吗?
    适配屏幕等比缩放,不太认为这是好的方式。
    理想中的是各种组件,比如最基本的自定义下拉刷新,抽屉等等。
  • 楼主 rufeng008 11天前
    引用 10
    @ccraohng
    1 、是的,暂时并不支持 ts
    2 、不先声明属性,那值存哪儿?库的原理是映射,并不是重写一个 AsyncStorage,在 github 上 library 的 readme 文档里的介绍文档有三个示例项目中都有使用实例,你可以运行一下看看效果,这个功能线上线下项目有很多人使用,你可以在 QQ 群里问下他们是否好用。
    3 、上面有多篇文档,如果你看了就清楚了。做任何一个项目,直接使用 RN 自带的 fetch 而不做任何封装,直接与前后台请求交互是远远不够的,但是你使用这个库,基本上是够了,而且这个库本身上交不限制用户的对 fetch 自定义行为扩展。
    4 、库里面实现,屏幕适配是对几个基础控件支持了屏幕自动适配功能,基本上够用了(就像人民币的设计:面额只有 1 元,2 元,5 元,10 元,没有必要去设计:3 元,4 元,6 元这些面额的吧?另外相应的缩放适配方法本来也是导出的,部分属性也是可以直接使用相应的方法的),开发者想使用原生的还是自动适配的都可以,混合使用也都是可行的;

    你的疑问大部分只是因为不了解这个开源库的相关功能,建议你详细看下文档,上面也有相应的链接,有 7,8 篇文章,如果你看完了还有疑问,欢迎加 QQ 群详聊,github 的 readme 文档中有 QQ 群二维码。
  • 游客
    11
返回