我对在react-native中领域数据库的创建和使用有疑问。
我有两个屏幕,负责执行Crud,category.js和client.js等操作
在 category.js 中,我具有以下构造函数
constructor(props) {
super(props);
realm = new Realm({
schema: [{ name: 'category', primaryKey: 'id', properties: { id: 'int', descricao: 'string', status: 'bool' } }]
})
}
并且在 cliente.js 中,我有
constructor(props) {
super(props);
realm = new Realm({
schema: [{ name: 'client', primaryKey: 'id', properties: { id: 'int', nome: 'string', cpf: 'string', celular: 'string', status: 'bool' } }]
})
}
现在我有以下疑问。
使用这种模式时,我是否有一个数据库,其中包含表类别和客户端?
当我在client.js屏幕上并且想要转到category.js时,我被告知错误:已在当前线程上以不同的模式打开。
如何关闭或打开连接,以便可以在两个屏幕上使用该领域?
答案 0 :(得分:1)
您没有在尝试创建新实例的新屏幕上打开RUNDA 1
Twoja kolej na zgadywanie!
Próba nr 1: 0011
[0, 2, 0, 1, 0, 0, 0, 1, 0, 0] [2, 2, 0, 0, 0, 0, 0, 0, 0, 0]
1 1
0 0
。这就是为什么您遇到问题。您的应用程序中应该只有一个realm
实例。
realm
依赖项的文件。realm
实例并将其架构添加到其中new Realm()
的新实例。 realm
实例代替在组件中使用realm
。 realm
realm.js
那么您应该可以通过以下方式导入它
import Realm from 'realm';
class Category extends Realm.Object {}
Category.schema = {
name: 'category',
primaryKey: 'id',
properties: {
id: 'int',
descricao: 'string',
status: 'bool'
}
};
class Client extends Realm.Object {}
Client.schema = {
name: 'client',
primaryKey: 'id',
properties: {
id: 'int',
nome: 'string',
cpf: 'string',
celular: 'string',
status: 'bool'
}
};
const RealmInstance = new Realm({ schema: [Category, Client] });
export default RealmInstance;
通过查看他们的example,您可以了解import realm from './path/to/realm.js'
的工作方式。