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

2020-06-28 09:42:18 +08:00
 rufeng008

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

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

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

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

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

2131 次点击
所在节点    程序员
9 条回复
qile1
2020-06-28 12:13:03 +08:00
我想问问为啥图片看不到,是不是需要爬墙后才能?
metrue
2020-06-28 12:36:22 +08:00
我自己觉得 iCloud 同步是个刚需
wxsm
2020-06-28 13:16:05 +08:00
不好意思,我看了你的项目。但是不太明白:

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

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

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

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

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

3 、跟你自定义式的原理是一样,不过, 我这边处理是需要使用 X 系列控件,这些控件针自动对涉及到尺寸的相关属性自动计算缩放后的结果,并不需要,你在设置组件属性的时候去调用你上面的 roundToNearestPixel 这个方法,所以从开发者的角度来说,这个组件尺寸缩放是“不可见的”,因为只需要设置一次屏幕参考尺寸就行了,当然,如果部分组件不想用,也有属性可以屏幕缩放功能
ccraohng
2020-06-28 20:37:28 +08:00
ts 支持为零。
你所谓的 AsyncStorage 是需要是先声明属性,这个真的能用吗?
请求不是现有的库吗?
适配屏幕等比缩放,不太认为这是好的方式。
理想中的是各种组件,比如最基本的自定义下拉刷新,抽屉等等。
rufeng008
2020-06-29 10:06:06 +08:00
@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 群二维码。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/685187

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX