在React Native的Realm introduction中,没有全局使用Realm。当需要使用Realm时,它总是通过Realm.open()
调用。
这样做的正确方法是什么?似乎每次开启一个新领域可能都是不合适的,但是没有对Realm.open的机制发表评论。它可能是缓存的东西,我不知道。
另一方面,new Realm()
可以在整个应用程序中以可访问的方式使用和存储。但是,它的创建不像Real.open()
那样是同步的,而且我在使用这种技术时遇到了一些延迟问题(尽管也可以使它同步)
我试图在全球范围内做到这一点。我正在componentWillMount()
的列表视图中显示初始查询。列表视图最初显示需要一些时间,并且由于某种原因它只显示一些对象,然后需要几秒钟才能显示其余对象。
我在链接Realm.open vs new Realm上的https://github.com/realm/realm-js/blob/master/examples/ReactExample/components/realm.js中看到了
答案 0 :(得分:0)
性能方面,如果您打算使用单个域架构,我建议保留一个全局域。 e.g:
Realm.open(mySchema).then(realm => {
this.setState({realm})
})
如果您计划拥有多个架构,我认为您只需要关心打开和关闭域。 e.g:
Realm.open(mySchema).then(realm => {
//do stuff
realm.close()
})