Javascript 使用'崩溃应用程序;访问已失效或删除的类型的对象';错误消息?
我正在使用Realm作为我的react原生项目的数据库 当我试图从realmDB中删除对象时,我遇到了一个错误,如“访问XXX类型的对象,该对象已失效或被删除”。 对象被删除,但应用程序显示错误 经过一些研究,我发现isValid()属性可以作为解决方案。但是它是如何与我下面的代码一起工作的?问题背后的真正原因是什么 DBSchemeJavascript 使用'崩溃应用程序;访问已失效或删除的类型的对象';错误消息?,javascript,reactjs,react-native,realm,Javascript,Reactjs,React Native,Realm,我正在使用Realm作为我的react原生项目的数据库 当我试图从realmDB中删除对象时,我遇到了一个错误,如“访问XXX类型的对象,该对象已失效或被删除”。 对象被删除,但应用程序显示错误 经过一些研究,我发现isValid()属性可以作为解决方案。但是它是如何与我下面的代码一起工作的?问题背后的真正原因是什么 DBScheme export const deleteNewTemplateScheme = newTemplateObjectId => new Promise((res
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);
});
最后,我自己找到了解决办法。如果将对象作为道具传递给导航或新组件,则删除此对象(当对象仍在导航堆栈或新组件中时),这将触发此错误 我之前做的是创建一个新组件并将领域对象作为道具传递,现在我做的是在父类本身中创建相同的组件(因此,不需要传递道具)。所以它现在可以正常工作了