gpt4 book ai didi

javascript - 应用程序崩溃并显示 'Accessing object of type which has been invalidated or deleted' 错误消息?

转载 作者:行者123 更新时间:2023-11-29 23:26:38 28 4
gpt4 key购买 nike

我使用 Realm 作为我的 React Native 项目的数据库。

当我尝试从 realmDB 中删除一个对象时,我收到类似“正在访问已失效或已删除的 XXX 类型的对象”这样的错误。对象被删除,但应用程序显示错误。

经过一些研究,我发现了 isValid() 属性作为解决方案。但是它如何与我的下面的代码一起使用,问题背后的真正原因是什么?

DBS 方案

export const deleteNewTemplateScheme = newTemplateObjectId => new Promise((resolve, reject) => {
Realm.open(NewTemplateScheme).then(realm => {
realm.write(() => {
let deletingNewTemplateObject = realm.objectForPrimaryKey(NEW_TEMPLATE_SCHEMA, newTemplateObjectId);
realm.delete(deletingNewTemplateObject);
resolve();
});
}).catch((error) => reject(error));;
});

正在获取

deleteNewTemplateScheme(this.state.content.id).then(()=> {
Alert.alert('Deleted');
}).catch((error) => {
Alert.alert('Failed to delete todoList: ', error);
});

最佳答案

最后,我自己找到了解决方案。似乎如果您将一个对象作为 Prop 传递给导航或新组件,删除该对象(当该对象仍在导航堆栈或新组件中时),-它会触发此错误。

我之前所做的是创建一个新组件并将 Realm 对象作为 Prop 传递,现在我所做的是在父类本身中创建相同的组件(因此,不需要传递 Prop )。所以它现在工作正常。

关于javascript - 应用程序崩溃并显示 'Accessing object of type which has been invalidated or deleted' 错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48941982/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com