Javascript 将领域结果保存在变量中,并在领域中写入而不更改变量

Javascript 将领域结果保存在变量中,并在领域中写入而不更改变量,javascript,android,react-native,realm,Javascript,Android,React Native,Realm,我将realm result保存在一个变量中,希望将其用于不同的目的。在域中更新后,存储原始结果的变量也会更新。我想保持获取原始领域结果的变量不变 下面我保存变量 componentDidMount(){ this.showFromRealm(); this.oldOpts = Array.from(Realm.objects('Device')[0].ns); } 这就是我在领域中更新的方式 if(device){ Realm.write(() => { device.

我将realm result保存在一个变量中,希望将其用于不同的目的。在域中更新后,存储原始结果的变量也会更新。我想保持获取原始领域结果的变量不变

下面我保存变量

componentDidMount(){
this.showFromRealm();
this.oldOpts = Array.from(Realm.objects('Device')[0].ns);
}

这就是我在领域中更新的方式

  if(device){
  Realm.write(() => {
    device.ns.forEach((ns)=>{
      if(ns.idx == selectedType){
        ns.opt.forEach((opt)=>{
          if(opt.idx == selectedOpt.idx) opt.val = !selectedOpt.val;
        });
      }
    });
  });
}
这就是我在realm中重新编写变量的方式

 Realm.write(() => {
    device.ns = this.oldOpts;
  });
任何见解都会有所帮助。
我想在realm中再次写入原始结果,使其显示为初始值。

RealmObjects是实时的,自动更新。您可以使用
Realm.copyFromRealm
将对象与Realm分离,这将停止更新它。谢谢你的回复。我在react native中使用的是realm,而不是java@NabilHachichaMaybe是您正在寻找的。在文档中它说它不是一个深度快照。这来自您提供的链接->“这不是深度快照,这意味着此快照中包含的对象将在对其进行更改时继续更新。”如果我理解不正确,请更正。RealmObjects是实时的,自动更新。您可以使用
Realm.copyFromRealm
将对象与Realm分离,这将停止更新它。谢谢你的回复。我在react native中使用的是realm,而不是java@NabilHachichaMaybe是您正在寻找的。在文档中它说它不是一个深度快照。这来自您提供的链接->“这不是深度快照,意味着此快照中包含的对象将在更改时继续更新。”如果我理解不正确,请更正。