最好每次打开一个全局Realm对象或使用Realm.open? Real.open vs new Realm

时间:2018-04-04 17:40:05

标签: javascript react-native realm

在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中看到了

1 个答案:

答案 0 :(得分:0)

性能方面,如果您打算使用单个域架构,我建议保留一个全局域。 e.g:

Realm.open(mySchema).then(realm => {
  this.setState({realm})
})

如果您计划拥有多个架构,我认为您只需要关心打开和关闭域。 e.g:

Realm.open(mySchema).then(realm => {
  //do stuff
  realm.close()
})