【问题标题】:It it better to open a global Realm object or use Realm.open everytime? Real.open vs new Realm最好是打开一个全局 Realm 对象还是每次都使用 Realm.open? Real.open 与新领域
【发布时间】:2023-04-03 14:38:01
【问题描述】:

在 React Native 的 Realm introduction 中,没有全局使用 Realm。当需要使用Realm时,总是通过Realm.open()调用。

正确的做法是什么?好像每次都打开一个新的Realm可能不够用,但是Realm.open的机制没有评论。它可能正在缓存东西,我不知道。

另一方面,new Realm() 可以以可在整个应用程序中访问的方式使用和存储。但是,它的创建不像Real.open() 那样异步,而且我在使用这种技术时遇到了一些延迟问题(不过,它也可以设为异步)

我正在尝试在全球范围内进行。我正在进行初始查询以显示在componentWillMount() 的列表视图中。列表视图最初出现需要一些时间,并且出于某种原因它只显示一些对象,然后需要几秒钟才能显示其余部分。

我正在按照链接https://github.com/realm/realm-js/blob/master/examples/ReactExample/components/realm.js 上的Realm.open vs new Realm 中所见的方式进行操作

【问题讨论】:

  • 取决于您是严格在本地使用它还是使用 Realm Platform / Realm Cloud 的东西
  • @EpicPandaForce 完全不同,但有什么区别?

标签: javascript react-native realm


【解决方案1】:

性能方面,如果您计划使用单一领域架构,我建议您保留一个全局领域。例如:

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

如果您打算拥有多个模式,我认为您只需要关心打开和关闭领域。例如:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    • 2021-10-04
    • 1970-01-01
    相关资源
    最近更新 更多