반응 네이티브 앱에서 단일 사인온 기능을 추가하려고합니다. 나는 데이터 영속성을 위해 영역을 사용하고있다. 로그인 과정에서 잘 작동하고 사용자가 첫 번째 로그인 할 때 데이터를 저장합니다. 하지만 네비게이터 오른쪽 상단의 로그 아웃 버튼을 클릭하면 로컬 스토리지에서 사용자 객체를 제거하고 싶습니다. 내가 onRightButtonPress
이벤트에 영역 저장 영역에서 사용자 개체를 삭제하려고하면NavigatorIOS에서 오른쪽 영역 개체를 삭제할 수 없습니다. 오른쪽 클릭 동작
가 나는 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에 관한 문제를 읽었지만이 문제를 해결할 수 없었습니다. 어떤 도움을 주시면 감사하겠습니다.
이 솔루션은 효과가 있었지만 영역이 컬렉션 클래스에 대해 알리지 않고 개체를 기반으로 자동으로 추론하는 방법에 대해 궁금합니다. –
오브젝트가 영역에서 작성되었으므로 오브젝트의 유형을 알 수 있고 적절하게 삭제할 수 있습니다. 귀하의 답변에서 – Ari
, 우리는 명시 적으로 개체 유형을 언급하지 않습니다 '사용자'입니다. –