Я создал кнопку входа в систему с помощью Facebook SDK. После входа в систему приложение переходит на второй экран (NavigatorIOS). На этом втором экране пользователь может вернуться на экран входа в систему, используя навигацию (кнопка «Назад»).React native - запретить пользователю возвращаться к экрану входа в систему
Как я могу помешать пользователю вернуться на экран входа в систему, если он уже вошел в систему?
index.ios.js
import React, { Component } from 'react'
import {
AppRegistry,
StyleSheet,
NavigatorIOS
} from 'react-native'
import LoginView from './src/login-view'
class MyApp extends Component {
render() {
return (
<Provider store={store}>
<NavigatorIOS
initialRoute={{
component: LoginView,
title: 'MyApp',
index: 0
}}
/>
</Provider>
);
}
}
AppRegistry.registerComponent('MyApp',() => MyApp);
LoginView
import React, {Component} from 'react'
import {
View,
Text,
StyleSheet,
TouchableHighlight,
} from 'react-native'
import CategoryView from './category-view'
import {LoginButton, AccessToken, GraphRequest, GraphRequestManager} from 'react-native-fbsdk'
class LoginView extends Component {
goToCategoryView =() =>
this.props.navigator.push({
title: 'Categories',
component: CategoryView,
})
render(){
return(
<View style={styles.container}>
<LoginButton
readPermissions={['public_profile','email']}
onLoginFinished={
(error, result) => {
if (error) {
console.log('login has error: ', result.error)
} else if (result.isCancelled) {
console.log('login is cancelled.')
} else {
AccessToken.getCurrentAccessToken().then((data) => {
this.goToCategoryView()
})
}
}
}
onLogoutFinished={() => {console.log('logged out')}} />
</View>
)
}
}
export default LoginView
Спасибо за ваш ответ. Хороший трюк, просто попробовал. Он работает нормально. – John
Рад помочь вам! Не могли бы вы проголосовать за PLS? Спасибо –
Последний вопрос на эту тему - после входа пользователя в систему, если я обновляю симулятор, он возвращается на экран входа в систему, на котором отображается кнопка продолжения Facebook. Возможно ли предотвратить возврат к этому экрану при обновлении/перезагрузке? – John