React Native 使用Realm数据库组件
时间:2022-06-05
本文章向大家介绍React Native 使用Realm数据库组件,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Realm是一款专为移动端开发的高性能数据库。支持React-Naitve,支持 iOS 和 Android。官网文档地址:https://realm.io/docs/javascript/latest/。
前提
- React Native的版本要大于等于0.31.0
安装
npm install --save realm
react-native link realm
示例代码
const Realm = require('realm');
class <project-name> extends Component {
constructor(props) {
super(props);
this.state = { realm: null };
}
componentWillMount() {
Realm.open({
schema: [{name: 'Dog', properties: {name: 'string'}}]
}).then(realm => {
realm.write(() => {
realm.create('Dog', {name: 'Rex'});
});
this.setState({ realm });
});
}
render() {
const info = this.state.realm
? 'Number of dogs in this Realm: ' + this.state.realm.objects('Dog').length
: 'Loading...';
return (
<View style={styles.container}>
<Text style={styles.welcome}>
{info}
</Text>
</View>
);
}
}
调试
使用Realm Studio来调试查看编辑数据库里的数据,支持Mac、Windows、Linux。
问题
在第一次编译时需要下载依赖,但是由于我国网络问题,下载速度很慢,所以就会编译失败,一般会报以下错误:
Downloading dependency: sync 1.0.3 https://static.realm.io/downloads/sync/realm-sync-cocoa-1.0.3.tar.xz Downloading sync failed. Please try again once you have an Internet connection. Command /bin/sh failed with exit code 1
解决方法
就是手动从上面的链接地址去下载realm-sync-cocoa-1.0.3.tar.xz或者从别人电脑上拷贝过来,放到对应的目录下即可。现在问题的关键是找到对应的目录。 先找到你项目目录下的/nodemodules/realm/scripts/download-core.sh,打开该文件,找到downloadcore方法,在mkdir -p "$TMP_DIR”代码下面添加这三行代码:
echo "$TMP_DIR"
echo "$TMP_TAR"
echo "$TAR"
这三行代码的目的就是打印出临时目录的路径。添加完后保存文件,然后重新执行react-native run-ios,这时候终端上面就会打印出临时目录的路径。直接将下载的压缩文件复制到对应的目录下即可。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python基础绘图教程(二)
- Docker简介与安装
- python绘图 | 国家气象局开源预报检验库(多图预警)
- Docker镜像与容器的常用操作
- DiDi Kafka-Manager安装和简单使用
- Docker数据管理与挂载管理
- Docker Dockerfile 指令详解与实战案例
- flume kafka和sparkstreaming整合
- Docker如何搭建私有registry镜像仓库
- Harbor介绍与企业级私有Docker镜像仓库搭建
- 如何查看docker run启动参数命令
- YAML 语言教程与使用案例
- 计算等压面要素场的基本检验指标
- Kubernetes K8S之SSL证书有效期修改
- Kubernetes K8S之通过yaml文件创建Pod与Pod常用字段详解