无法删除 NavigatorIOS 右键单击操作上的领域对象
Can not delete realm object on NavigatorIOS right click action
我正在尝试在 react-native 应用程序中添加单点登录功能。我正在使用领域进行数据持久化。它在登录过程中工作正常,并在用户首次登录时存储数据。但是当我点击导航器右上角的注销按钮时,我想从本地存储中删除用户对象。
当我尝试在 onRightButtonPress
事件中从领域存储中删除用户对象时,出现 Invalid arguments
异常。这是 NavigatorIOS 中此事件的代码。
<NavigatorIOS
barTintColor="#000000"
tintColor="#fff"
titleTextColor="#fff"
ref={(ref) => this._navigator = ref}
style={{flex: 1,backgroundColor: '#fff'}}
initialRoute={{
title: 'NOOZOO',
component: Home,
leftButtonIcon: require('../images/menu.png'),
onLeftButtonPress: () => { this._drawer.open() },
rightButtonTitle: 'Logout',
onRightButtonPress: () => {alert('Logout');
console.log({name: global.__user.name,token: global.__user.token});
var users = realm.objects('User');
console.log(users.length);
console.log(users[0].isValid());
realm.write(()=>{
realm.delete('User', users[0]);
});
console.log('deleted');
this._navigate({'title':'Company','routeName':'Home','active':false,'iconUrl': require('../images/check.png'),'newView':false});
console.log(users);
},
}}/>
我正在向控制台打印一些值,以验证领域是否可访问以及存储中是否有一些对象,这看起来不错,如下图所示。
我不知道是我在领域方法调用方面做错了什么。我看过领域的文档,还在 github 上阅读了有关它的问题,但无法解决此问题。任何帮助,将不胜感激。
调用 do delete 没有将对象类型作为其第一个参数。尝试将该行更改为:
realm.delete(users[0]);
我正在尝试在 react-native 应用程序中添加单点登录功能。我正在使用领域进行数据持久化。它在登录过程中工作正常,并在用户首次登录时存储数据。但是当我点击导航器右上角的注销按钮时,我想从本地存储中删除用户对象。
当我尝试在 onRightButtonPress
事件中从领域存储中删除用户对象时,出现 Invalid arguments
异常。这是 NavigatorIOS 中此事件的代码。
<NavigatorIOS
barTintColor="#000000"
tintColor="#fff"
titleTextColor="#fff"
ref={(ref) => this._navigator = ref}
style={{flex: 1,backgroundColor: '#fff'}}
initialRoute={{
title: 'NOOZOO',
component: Home,
leftButtonIcon: require('../images/menu.png'),
onLeftButtonPress: () => { this._drawer.open() },
rightButtonTitle: 'Logout',
onRightButtonPress: () => {alert('Logout');
console.log({name: global.__user.name,token: global.__user.token});
var users = realm.objects('User');
console.log(users.length);
console.log(users[0].isValid());
realm.write(()=>{
realm.delete('User', users[0]);
});
console.log('deleted');
this._navigate({'title':'Company','routeName':'Home','active':false,'iconUrl': require('../images/check.png'),'newView':false});
console.log(users);
},
}}/>
我正在向控制台打印一些值,以验证领域是否可访问以及存储中是否有一些对象,这看起来不错,如下图所示。
我不知道是我在领域方法调用方面做错了什么。我看过领域的文档,还在 github 上阅读了有关它的问题,但无法解决此问题。任何帮助,将不胜感激。
调用 do delete 没有将对象类型作为其第一个参数。尝试将该行更改为:
realm.delete(users[0]);