Я пытаюсь добавить функцию единого входа в приложение, основанное на реакции. Я использую область для сохранения данных. Он отлично работает со входом в систему и хранит данные, когда пользователь вошел в систему в первый раз. Но я хочу удалить объект пользователя из локального хранилища, когда я нажимаю кнопку выхода из системы в верхнем правом углу навигатора.Невозможно удалить объект realm в NavigatorIOS правой кнопкой мыши действие
Я получаю 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, но не смог решить эту проблему. Любая помощь будет оценена по достоинству.
Это решение сработало, но мне интересно, как realm автоматически выводит на основе объекта, не сообщая ему о коллекции Class. –
Поскольку объект создан из Realm, мы можем указать, какой тип объекта он есть, и удалить его соответствующим образом. – Ari
из вашего ответа, мы явно не упоминаем, что тип объекта - это «Пользователь». –