您现在的位置是:首页 > 文章详情

WatermelonDB — 面向 React 和 RN 应用的数据库

日期:2018-09-28点击:415
WatermelonDB 详细介绍

WatermelonDB,下一代 React 数据库,可构建功能强大的 React 和 React Native 应用程序,可在保持快速的同时从数百个记录扩展到数万个记录。

WatermelonDB 是一种在 React Native 和 React Web 应用中处理用户数据的新方法。它针对在 React/React Native 中构建复杂应用进行优化,其首要目标是提高实际性能。简单来说,就是保证的的应用必须快速启动。

当你开始扩展到数千或数万个数据库记录时,会发现对应用的启动速度有很大影响,尤其是在速度较慢的 Android 设备上。WatermelonDB 通过惰性(lazy)来解决问题 —— 除非有要求,否则不加载。而且由于所有查询都是直接以单独的线程在稳定的 SQLite 数据库上执行的,所以即使是在较慢的 Android 设备上,多数查询也会在不到1毫秒的时间内解析,即使有 10,000 条记录!

Usage

首先,定义模型

class Post extends Model { @field('name') name @field('body') body @children('comments') comments } class Comment extends Model { @field('body') body @field('author') author }

然后,将组件与数据连接:

const Comment = ({ comment }) => ( <View style={styles.commentBox}> <Text>{comment.body} — by {comment.author}</Text> </View> ) // This is how you make your app reactive! const enhance = withObservables(['comment'], ({ comment }) => ({ comment: comment.observe() })) const EnhancedComment = enhance(Comment)

即可进行渲染

const Post = ({ post, comments }) => ( <View> <Text>{post.name}</Text> <Text>Comments:</Text> {comments.map(comment => <Comment key={comment.id} comment={comment} /> )} </View> ) const enhance = withObservables(['post'], ({ post }) => ({ post: post.observe(), comments: post.comments.observe() }))
本文来自云栖社区合作伙伴“开源中国”
本文作者:局长
原文链接

原文链接:https://yq.aliyun.com/articles/646551
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章