我一直在寻找资源,了解在反应原生中实现领域的最佳实践。
我的两个问题是:
首先,一遍又一遍地阅读文档,不了解初始化与使用数据库。我有几个const并使用他们的示例创建一个模式:
//使用Car和Person模型初始化一个领域 让realm = new Realm({schema:[CarSchema,PersonSchema]});
这是在我使用的每个页面(组件对象)上完成的吗?创建模式的const非常大。
我尝试将它们移动到自己的文件中,但尝试导入返回的对象(Realm对象)时出现错误。
每次应用程序使用Realm对象时,每次都必须重新定义吗?
谢谢!
答案 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]});