在 React Native 中,数据持久化是一个必不可少的方面。Realm 是一个流行的 NoSQL 数据库管理系统,尤其适合处理海量数据。React-native-realm 是一个 Realm 数据库的 JavaScript 包装器,它能让 Realm 数据库集成到 React Native 应用程序中。本文将为您介绍 npm 包 react-native-realm 的基本概念和简单的使用教程,并且提供示例代码和深度解析。
安装
首先,您需要在项目的根目录下使用 npm 或 yarn 安装 react-native-realm 依赖包。方法如下:
npm install --save react-native-realm
或者是
yarn add react-native-realm
初始化
在使用 React-native-realm 前,您需要对其进行初始化配置。在主入口文件或者初始化文件中,执行如下代码:
-- -------------------- ---- ------- ------ ----- ---- -------- ----- ------------ - - ----- --------- ----------- - ---- ------ ------ -------- --- ----- --------- ---- ------ -- -- ----- ------------- - --- ------- ----- --------------- ------- --------------- ---
代码中的 PersonSchema
是用于创建 Realm 数据库中数据表的定义。通过 new Realm()
方法实例化 realmInstance
,用于后续获取使用 Realm 数据库。其中 path 为数据库文件保存的路径,schema 为您创建的数据表对象定义集合。创建成功后,您可以在设备上的应用程序沙盒目录中找到 person.realm
数据库文件。请注意这里的文件名要与您实例化时指定的文件名一致,否则会出现错误。
示例
下面将介绍一些 React-native-realm 常见的 API 操作与示例:
插入数据
在一个事务(Transaction)中插入一条新的数据时,可以使用如下代码:
realmInstance.write(() => { realmInstance.create('Person', { _id: 1, name: 'Realm 之父', age: 35 }); });
这里 write()
方法创建一个新事务,create()
方法插入一个新记录。
查询数据
let people = realmInstance.objects('Person'); let person = people.filtered("_id = 1");
这里 objects()
方法会返回 Person 表中所有的记录, filtered()
方法可以根据条件筛选想要的记录。比如,我们可以筛选年龄大于等于 30 岁的人:
let filteredPeople = people.filtered('age >= 30');
更新数据
使用 write()
方法,可以在事务中更新一条已经存在的记录:
realmInstance.write(() => { let person = realmInstance.objectForPrimaryKey('Person', 1); person.age = 36; });
这里,通过 objectForPrimaryKey()
方法获取数据库中主键为 1 的记录,然后通过修改数据的 age 属性,实现了更新。
删除数据
realmInstance.write(() => { let person = realmInstance.objectForPrimaryKey('Person', 1); realmInstance.delete(person); });
这里,使用 delete()
方法将数据库中主键为 1 的记录删除。
总结
React-native-realm 是一个能够极大简化操作 Realm 数据库的包装器,本文为您详细介绍了 react-native-realm 的初始化、示例代码以及基本 API 的操作。希望能够对您有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055eb881e8991b448dc6b0