リアクションネイティブアプリでシングルサインオン機能を追加しようとしています。私はデータの永続性のために領域を使用しています。サインインプロセスで正常に動作し、ユーザーが最初のログイン時にデータを保存します。しかし、ナビゲータの右上にあるログアウトボタンをクリックすると、ローカルストレージからユーザオブジェクトを削除したい。NavigatorIOSの右クリックアクションでレルムオブジェクトを削除できません
私は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上でそれについての問題を読むが、この問題を解決することができませんでした。どんな助けもありがとう。
このソリューションは働いていたが、私はレルムが自動的に収集クラスについては、それを伝えることなく、オブジェクトに基づいて推測する方法を疑問に思って。 –
オブジェクトはRealmから作成されているため、オブジェクトの種類を確認して適切に削除することができます。あなたの答えから – Ari
、私たちは明示的にオブジェクトの種類は 'ユーザー'とは言及していません。 –