


Comment déterminer si l'utilisateur est connecté et accéder à la page de connexion dans React-Navigation
Cet article présente principalement comment réagir-navigation détermine si l'utilisateur est connecté et accède à la page de connexion. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
Cet article présente comment réagir-navigation. pour déterminer si l'utilisateur est connecté et accéder à la page de connexion ? Partagez-le avec tout le monde et laissez une note pour vous-même :
Créez un nouvel index.js
import React, {Component} from 'react'; import {AppRegistry, Text, View, Button,Image,StyleSheet,BackHandler,ToastAndroid} from 'react-native'; import { StackNavigator,TabNavigator,NavigationActions } from 'react-navigation'; //全局存储 import stroage from './StorageUtil'; import './Global' import IndexScreen from './Index' import MeScreen from './Me' import Login from './Login' //底部菜单栏设置 const MainScreenNavigator = TabNavigator({ IndexScreen: { screen: IndexScreen, navigationOptions: { tabBarLabel: '首页', headerLeft:null,//去除返回按钮 tabBarIcon: ({ tintColor }) => ( <Image source={require('./img/ic_image.png')} style={[styles.icon, {tintColor: tintColor}]} /> ), onNavigationStateChange:(()=> alert("首页")) // initialRouteName:'IndexScreen' }, }, MeScreen: { screen: MeScreen, navigationOptions: { tabBarLabel:'我的', tabBarIcon: ({ tintColor }) => ( <Image source={require('./img/ic_me.png')} style={[styles.icon, {tintColor: tintColor}]} /> ), // initialRouteName:'MeScreen' } } }, { // trueinitialRouteName:'MeScreen',//设置默认的页面组件 // initialRouteName:'MeScreen', lazy:true,//是否根据需要懒惰呈现标签,而不是提前,意思是在app打开的时候将底部标签栏全部加载,默认false,推荐为true // order: ['IndexScreen','FindScreen','ListNewScreen','MeScreen'], //order 来定义tab显示的顺序,数组形式 animationEnabled: false, // 切换页面时是否有动画效果 tabBarPosition: 'bottom', // 显示在底端,android 默认是显示在页面顶端的 swipeEnabled: false, // 是否可以左右滑动切换tab // backBehavior: 'none', // 按 back 键是否跳转到第一个Tab(首页), none 为不跳转 tabBarOptions: { activeTintColor: '#2196f3', // 文字和图片选中颜色 inactiveTintColor: '#999', // 文字和图片未选中颜色 showIcon: true, // android 默认不显示 icon, 需要设置为 true 才会显示 indicatorStyle: { height: 0 // 如TabBar下面显示有一条线,可以设高度为0后隐藏 }, style: { backgroundColor: '#fff', // TabBar 背景色 height: 60 }, labelStyle: { fontSize: 14, // 文字大小 marginTop:2 // lineHeight:44 }, } }); //跳转路由设置 const FirstApp = StackNavigator({ IndexScreen: { screen: MainScreenNavigator, // initialRouteName: 'IndexScreen' }, MeScreen: {screen: MeScreen}, Login:{screen: Login}, }, { initialRouteName: 'IndexScreen', // 默认显示界面 navigationOptions: { // 屏幕导航的默认选项, 也可以在组件内用 static navigationOptions 设置(会覆盖此处的设置) headerStyle:{elevation: 0,shadowOpacity: 0,height:48,backgroundColor:"#2196f3"}, headerTitleStyle:{color:'#fff',fontSize:16}, //alignSelf:'center' 文字居中 headerBackTitleStyle:{color:'#fff',fontSize:12}, // headerTintColor:{}, gesturesEnabled:true,//是否支持滑动返回收拾,iOS默认支持,安卓默认关闭 }, mode: 'card', // 页面切换模式, 左右是card(相当于iOS中的push效果), 上下是modal(相当于iOS中的modal效果) headerMode: 'screen', // 导航栏的显示模式, screen: 有渐变透明效果, float: 无透明效果, none: 隐藏导航栏 onTransitionStart: (Start)=>{console.log('导航栏切换开始');}, // 回调 onTransitionEnd: ()=>{ console.log('导航栏切换结束'); } // 回调 }); // const defaultGetStateForAction = FirstApp.router.getStateForAction; FirstApp.router.getStateForAction = (action, state) => { //页面是MeScreen并且 global.user.loginState = false || ''(未登录) if (action.routeName ==='MeScreen'&& !global.user.loginState) { this.routes = [ ...state.routes, {key: 'id-'+Date.now(), routeName: 'Login', params: { name: 'name1'}}, ]; return { ...state, routes, index: this.routes.length - 1, }; } return defaultGetStateForAction(action, state); }; export default class FirstAppDemo extends Component { render() { return ( <FirstApp /> ); } } AppRegistry.registerComponent('FirstApp', () => FirstAppDemo); const styles = StyleSheet.create({ icon: { width: 26, height: 26, }, });
Nouveau stockage global StorageUtil.js
import React, {Component} from 'react'; import {AsyncStorage} from 'react-native'; import Storage from 'react-native-storage'; var storage = new Storage({ // 最大容量,默认值1000条数据循环存储 size: 1000, // 存储引擎:对于RN使用AsyncStorage,对于web使用window.localStorage // 如果不指定则数据只会保存在内存中,重启后即丢失 storageBackend: AsyncStorage, // 数据过期时间,默认一整天(1000 * 3600 * 24 毫秒),设为null则永不过期 defaultExpires: 1000 * 3600 * 24, // 读写时在内存中缓存数据。默认启用。 enableCache: true, // 如果storage中没有相应数据,或数据已过期, // 则会调用相应的sync方法,无缝返回最新数据。 // sync方法的具体说明会在后文提到 // 你可以在构造函数这里就写好sync的方法 // 或是写到另一个文件里,这里require引入 // 或是在任何时候,直接对storage.sync进行赋值修改 //sync: require('./sync') // 这个sync文件是要你自己写的 }) // 最好在全局范围内创建一个(且只有一个)storage实例,方便直接调用 // 对于web // window.storage = storage; // 对于react native // global.storage = storage; // 这样,在此**之后**的任意位置即可以直接调用storage // 注意:全局变量一定是先声明,后使用 // 如果你在某处调用storage报错未定义 // 请检查global.storage = storage语句是否确实已经执行过了 //导出为全局变量 global.storage = storage; 新建一个全局变量组件Global.js,用户存储用户登录的信息 //用户登录数据 global.user = { loginState:'',//登录状态 userData:'',//用户数据 }; //刷新的时候重新获得用户数据 storage.load({ key: 'loginState', }).then(ret => { global.user.loginState = true; global.user.userData = ret; }).catch(err => { global.user.loginState = false; global.user.userData = ''; })
Composant de connexion Login.js
_login() {//登录函数 // debugger; ToastUtil.show("登录成功"); // 使用key来保存数据。这些数据一般是全局独有的,常常需要调用的。 // 除非你手动移除,这些数据会被永久保存,而且默认不会过期。 storage.save({ key: 'loginState', // 注意:请不要在key中使用_下划线符号! data: { userid: '1001', userName:'userName', token: 'token' }, // 如果不指定过期时间,则会使用defaultExpires参数 // 如果设为null,则永不过期 // 8个小时后过期 expires: 1000 * 3600 * 8 }); global.user.loginState = true;//设置登录状态 global.user.userData = { userid: '1001', userName:'userName', token: 'token'};//保存用户数据 setTimeout(()=>{ this.props.navigation.navigate('UserScreen')//跳转到用户页面 },2000) }
Ce qui précède est ce que j'ai compilé pour tout le monde, j'espère qu'il sera utile à tout le monde. à l'avenir.
Articles associés :
Interprétation détaillée de l'utilisation de la navigation de réaction-navigation
Interprétation détaillée de la fonction Function en javascript (tutoriel détaillé )
Comment implémenter une visualisation personnalisée à l'aide d'AngularJS2 intégré à D3.js
Comment implémenter le chargement séquentiel et l'exécution de méthodes js en javascript
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Lorsque vous vous connectez au compte Steam de quelqu'un d'autre sur votre ordinateur et que le compte de cette autre personne dispose d'un logiciel de fond d'écran, Steam téléchargera automatiquement les fonds d'écran abonnés au compte de l'autre personne après être revenu à votre propre compte. Les utilisateurs peuvent résoudre ce problème en. désactiver la synchronisation du cloud Steam. Que faire si WallpaperEngine télécharge les fonds d'écran d'autres personnes après s'être connecté à un autre compte 1. Connectez-vous à votre propre compte Steam, recherchez la synchronisation cloud dans les paramètres et désactivez la synchronisation cloud Steam. 2. Connectez-vous au compte Steam de quelqu'un d'autre auquel vous vous êtes connecté auparavant, ouvrez Wallpaper Creative Workshop, recherchez le contenu de l'abonnement, puis annulez tous les abonnements. (Si vous ne trouvez pas le fond d'écran à l'avenir, vous pouvez d'abord le récupérer, puis annuler l'abonnement) 3. Revenez à votre propre Steam

Avec le développement rapide des médias sociaux, Xiaohongshu est devenue une plateforme populaire permettant à de nombreux jeunes de partager leur vie et d'explorer de nouveaux produits. Pendant l'utilisation, les utilisateurs peuvent parfois rencontrer des difficultés pour se connecter aux comptes précédents. Cet article expliquera en détail comment résoudre le problème de connexion à l'ancien compte sur Xiaohongshu et comment gérer la possibilité de perdre le compte d'origine après avoir modifié la liaison. 1. Comment se connecter au compte précédent de Xiaohongshu ? 1. Récupérez le mot de passe et connectez-vous. Si vous ne vous connectez pas à Xiaohongshu pendant une longue période, votre compte peut être recyclé par le système. Afin de restaurer les droits d'accès, vous pouvez tenter de vous reconnecter à votre compte en récupérant votre mot de passe. Les étapes de fonctionnement sont les suivantes : (1) Ouvrez l'application Xiaohongshu ou le site officiel et cliquez sur le bouton « Connexion ». (2) Sélectionnez « Récupérer le mot de passe ». (3) Entrez le numéro de téléphone mobile que vous avez utilisé lors de l'enregistrement de votre compte

La solution au problème de connexion en arrière-plan de Discuz est révélée. Des exemples de code spécifiques sont nécessaires Avec le développement rapide d'Internet, la construction de sites Web est devenue de plus en plus courante, et Discuz, en tant que système de création de sites Web de forum couramment utilisé, a été favorisé par. de nombreux webmasters. Cependant, précisément en raison de ses fonctions puissantes, nous rencontrons parfois des problèmes lors de l'utilisation de Discuz, comme des problèmes de connexion en arrière-plan. Aujourd'hui, nous allons révéler la solution au problème de connexion en arrière-plan de Discuz et fournir des exemples de code spécifiques. Nous espérons aider ceux qui en ont besoin.

Récemment, certains amis m'ont demandé comment se connecter à la version informatique de Kuaishou. Voici la méthode de connexion pour la version informatique de Kuaishou. Les amis dans le besoin peuvent venir en savoir plus. Étape 1 : Tout d’abord, recherchez le site officiel de Kuaishou sur Baidu dans le navigateur de votre ordinateur. Étape 2 : Sélectionnez le premier élément dans la liste des résultats de recherche. Étape 3 : Après avoir accédé à la page principale du site officiel de Kuaishou, cliquez sur l'option vidéo. Étape 4 : Cliquez sur l'avatar de l'utilisateur dans le coin supérieur droit. Étape 5 : Cliquez sur le code QR pour vous connecter dans le menu de connexion contextuel. Étape 6 : Ouvrez ensuite Kuaishou sur votre téléphone et cliquez sur l'icône dans le coin supérieur gauche. Étape 7 : Cliquez sur le logo du code QR. Étape 8 : Après avoir cliqué sur l'icône de numérisation dans le coin supérieur droit de l'interface Mon code QR, scannez le code QR sur votre ordinateur. Étape 9 : Connectez-vous enfin à la version informatique de Kuaishou

Baidu Netdisk peut non seulement stocker diverses ressources logicielles, mais également les partager avec d'autres. Il prend en charge la synchronisation multi-terminal. Si aucun client n'est téléchargé sur votre ordinateur, vous pouvez choisir d'accéder à la version Web. Alors, comment se connecter à la version Web de Baidu Netdisk ? Jetons un coup d’œil à l’introduction détaillée. Entrée de connexion à la version Web de Baidu Netdisk : https://pan.baidu.com (copiez le lien vers le navigateur pour l'ouvrir) Introduction au logiciel 1. Partage Fournit une fonction de partage de fichiers, les utilisateurs peuvent organiser des fichiers et les partager avec des amis dans le besoin. 2. Cloud : il ne prend pas trop de mémoire. La plupart des fichiers sont enregistrés dans le cloud, ce qui permet d'économiser efficacement de l'espace informatique. 3. Album photo : prend en charge la fonction d'album photo cloud, importe des photos sur le disque cloud, puis les organise pour que tout le monde puisse les voir.

Xiaohongshu est désormais intégré dans la vie quotidienne de nombreuses personnes, et son contenu riche et ses méthodes de fonctionnement pratiques en font profiter les utilisateurs. Parfois, nous pouvons oublier le mot de passe du compte. Il est vraiment ennuyeux de se souvenir uniquement du compte sans pouvoir se connecter. 1. Comment se connecter si Xiaohongshu se souvient uniquement du compte ? Lorsque nous oublions notre mot de passe, nous pouvons nous connecter à Xiaohongshu via le code de vérification sur notre téléphone mobile. Les opérations spécifiques sont les suivantes : 1. Ouvrez l'application Xiaohongshu ou la version Web de Xiaohongshu ; 2. Cliquez sur le bouton « Connexion » et sélectionnez « Connexion au compte et au mot de passe » 3. Cliquez sur le bouton « Mot de passe oublié ? . Entrez votre numéro de compte. Cliquez sur « Suivant » ; 5. Le système enverra un code de vérification sur votre téléphone mobile, entrez le code de vérification et cliquez sur « OK » ; 6. Définissez un nouveau mot de passe et confirmez. Vous pouvez également utiliser un compte tiers (tel que

Comment résoudre le problème courant de l'expiration du temps de connexion de Laravel Lorsque vous utilisez Laravel pour développer des applications Web, l'authentification de connexion est une fonction très importante. Cependant, parfois, si un utilisateur ne fonctionne pas pendant une longue période après s'être connecté, la page peut se déconnecter automatiquement ou l'authentification peut échouer. Ce problème est relativement courant. Ce qui suit présente comment résoudre ce problème en définissant l'heure de la session et fournit des exemples de code spécifiques. 1. Définissez l'heure d'expiration de la session dans Laravel, par défaut sessi

Que dois-je faire si je ne parviens pas à me connecter à mon compte sur Google Chrome ? Lorsque de nombreux utilisateurs utilisent ce logiciel, certaines fonctions nécessitent que les utilisateurs se connectent à leur compte Google avant de pouvoir l'utiliser. Cependant, ils ont essayé à plusieurs reprises mais n'ont pas réussi à se connecter. Face à ce problème, de nombreux utilisateurs ne savent pas comment le faire. résolvez-le, donc dans ce numéro, l'éditeur est là pour partager la solution avec vous. J'espère que le contenu du didacticiel logiciel d'aujourd'hui pourra être utile à tout le monde. La solution est la suivante : 1. Cliquez sur un navigateur sur le bureau et après l'avoir ouvert, vous verrez quelque chose comme ceci. 2. Si la connexion apparaît à ce moment-là, cliquez dessus. Si vous ne la voyez pas, cliquez sur le coin supérieur droit. 3. Cliquez sur Connexion, puis entrez votre numéro de compte. Vous n'avez pas besoin de saisir le compte après @, puis cliquez sur Suivant. 4. Entrez le mot de passe. Lorsque vous voyez cette invite, cliquez sur Activer.
