V2EX rufeng008
 rufeng008 最近的时间轴更新
rufeng008

rufeng008

  移动开发工程师
V2EX 第 481292 号会员,加入于 2020-04-03 09:44:13 +08:00
rufeng008 最近回复了
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 已修改
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1388 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 24ms UTC 17:02 PVG 01:02 LAX 10:02 JFK 13:02
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86