V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  rufeng008  ›  全部回复第 1 页 / 共 1 页
回复总数  12
2020-07-20 13:54:36 +08:00
回复了 rufeng008 创建的主题 React 墙裂推荐! React Native 应用开发基础库
@momocraft 哈哈,就一个号,你帮我发发呗^_^
2020-07-06 11:46:23 +08:00
回复了 rufeng008 创建的主题 程序员 React Native 应用开发必备开发库,超实用!
@elekids 然而并不是等价的,如果你用了上面的库就明白了:
1 、sync-storage
* sync-storage 的数据存储方式,对于连续存大量的数据绝对存在性能问题:AsyncStorage 本身决定的;
* sync-storage 并不支持直接,取值、赋值的方式读写持久化存储,易用性上并不比原生 AsyncStorage 好多少
2 、axios 的功能的确很多,但它本质上只是一个请求库相以于 fetch 是增加了一些额外的回调及相应的功能,但一个 app 的前后台交互,依然并不能直接拿上手就可以直接使用。对一些请求数据的类型的设置转换,依然需要封装,总之用它跟使用原生 fetch 区别并不大,都需要再封装一层,只是使用 axios 的时候封装更容易一点儿而已。
3 、是的,我当前库的原理就是这样的,不过是在底层实现了相关组件的尺寸缩放,开发者并不需要在设置各种属性的时候调用相关方法,依然作为原生组件一样设置相应的属性尺寸即可(底层会自动缩放)
2020-07-06 11:29:09 +08:00
回复了 rufeng008 创建的主题 程序员 React Native 应用开发必备开发库,超实用!
2020-06-29 10:06:06 +08:00
回复了 rufeng008 创建的主题 程序员 React Native 项目快速开发库,超实用!
@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 群二维码。
2020-06-28 13:37:30 +08:00
回复了 rufeng008 创建的主题 程序员 React Native 项目快速开发库,超实用!
@wxsm 一两句话说不清楚,你可以点击链接进入我的 github 或者进入简书介绍看详细内容,另外 github 上有 QQ 群,可以加 QQ 群详聊。至于上面我提的几点我简单的解释一下:

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

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

3 、跟你自定义式的原理是一样,不过, 我这边处理是需要使用 X 系列控件,这些控件针自动对涉及到尺寸的相关属性自动计算缩放后的结果,并不需要,你在设置组件属性的时候去调用你上面的 roundToNearestPixel 这个方法,所以从开发者的角度来说,这个组件尺寸缩放是“不可见的”,因为只需要设置一次屏幕参考尺寸就行了,当然,如果部分组件不想用,也有属性可以屏幕缩放功能
2020-06-28 13:23:34 +08:00
回复了 rufeng008 创建的主题 程序员 React Native 项目快速开发库,超实用!
@metrue 没太懂你说的 iCloud 同步是啥意思。
2020-06-28 13:22:38 +08:00
回复了 rufeng008 创建的主题 程序员 React Native 项目快速开发库,超实用!
@qile1 不太清楚图片为啥时不时就丢了,可能是 V2EX 的原因吧,一时能显示,一时不能显示,你可以直接点击库的链接跳转到 github 上看,其实,也是 github 的 readme 文件的截图^_^。
2020-05-29 11:46:11 +08:00
回复了 thewei 创建的主题 React 假期写了个操作 react-native AsyncStorage 本地存储的小东西
通常来说客户端需要存的数据都是一些结构相对简单数据,如果存一些复杂的数据那可以使用相关的 sqlite 库了,感觉存一些简单的标记位等数据,用这个库感觉有点复杂:

那还不如使用:react-native-easy-app 简单易用,

```
export const RNStorage = {// RNStorage 自定义数据存储对象
token: undefined, // 字符串类型
isShow: undefined, // 布尔类型
userInfo: undefined, // 对象类型
};
```
```
import { XStorage } from 'react-native-easy-app';

const initCallback = () => {

// 现在起,你可以同步读、写 RNStorage 中的任何属性了

console.log(RNStorage.isShow); // 相当于 [ console.log(await AsyncStorage.getItem('isShow')) ]

RNStorage.token = 'TOKEN1343DN23IDD3PJ2DBF3=='; // 相当于 [ await AsyncStorage.setItem('token',TOKEN1343DN23IDD3PJ2DBF3==') ]

RNStorage.userInfo = {name: 'rufeng', age: 30}; // 相当于 [ await AsyncStorage.setItem('userInfo',JSON.stringify({ name:'rufeng', age:30})) ]
};

XStorage.initStorage(RNStorage, initCallback);
```
2020-05-28 10:21:06 +08:00
回复了 wxsm 创建的主题 程序员 如何宣传个人的 Github 开源项目?
React Native 项目开发,一站式解决方案:
github 地址: https://github.com/chende008/react-native-easy-app
简书介绍: https://www.jianshu.com/p/88821b1607a7

开源库基础功能:
1 、AsyncStorage 访问封装 (一分钟实现一个简单、易用的持久化数据管理器)
2 、fetch 基础封装 (二十分钟实现一个复杂项目的 Http 请求框架组件的封装)
3 、UI 组件 基础封装 (可以明显提升布局工作效率)
4 、多屏适配 一行代码实现多屏无感知适配
2020-05-25 20:04:24 +08:00
回复了 rufeng008 创建的主题 程序员 React Native 一站式开发解决方案
@PaddyPang 已修改
2020-05-25 12:48:51 +08:00
回复了 rufeng008 创建的主题 程序员 React Native 一站式开发解决方案
@darkjoker 欢迎使用
2020-05-11 15:29:30 +08:00
回复了 rufeng008 创建的主题 程序员 二十分钟封装,一个 App 前后台 Http 交互的实现
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4141 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 05:26 · PVG 13:26 · LAX 22:26 · JFK 01:26
Developed with CodeLauncher
♥ Do have faith in what you're doing.