我正在尝试在 react-native 应用程序中添加单点登录功能。我正在使用领域进行数据持久性。它在登录过程中运行良好,并在用户第一次登录时存储数据。但是当我单击导航器右上角的注销按钮时,我想从本地存储中删除用户对象。
Invalid arguments
当我尝试从领域存储中删除用户对象时出现异常onRightButtonPress
。这是 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 上阅读了有关它的问题,但无法解决此问题。任何帮助,将不胜感激。