如何在react-native - component和初始化中实现realm.io

时间:2016-05-11 19:57:19

标签: javascript react-native realm

我一直在寻找资源,了解在反应原生中实现领域的最佳实践。

我的两个问题是:

首先,一遍又一遍地阅读文档,不了解初始化与使用数据库。我有几个const并使用他们的示例创建一个模式:

//使用Car和Person模型初始化一个领域 让realm = new Realm({schema:[CarSchema,PersonSchema]});

这是在我使用的每个页面(组件对象)上完成的吗?创建模式的const非常大。

我尝试将它们移动到自己的文件中,但尝试导入返回的对象(Realm对象)时出现错误。

每次应用程序使用Realm对象时,每次都必须重新定义吗?

谢谢!

2 个答案:

答案 0 :(得分:5)

new Realm只需在应用程序生命周期中完成一次。它第一次完成它将创建数据库并定义模式。当您的应用再次启动时,它将打开此数据库并检查架构是否匹配。所以它就像打开数据库"。 打开后,使用句柄(您调用realm)来引用数据库并使用它执行所需的操作。 您可以在Github上的Example中看到这一点。

答案 1 :(得分:2)

RealmExample中,Realm在单独的文件中定义,然后导入任何文件,用作import realm from './realm'

执行此操作的代码如下:

import Realm from 'realm';

class Todo {}
Todo.schema = { ... };

class TodoList {}
TodoList.schema = { ... };

export default new Realm({schema: [Todo, TodoList]});