Bonjour,
Je développe une appli react native. Je souhaite mettre en place un système d'authentification de type log/password. J'ai un formulaire pour ça, et je me connecte à une base de données pour la vérification.
Si l'utilisateur n'est pas logué, il n'a accès qu'à la page de connexion et celle de création de compte.
Si l'utilisateur se connecte, il a accès à une série de pages.
Il existe plusieurs niveaux d'utilisateurs : l'utilisateur standard et le super utilisateur (qui a plus d'options).
La solution que je tente de mettre en place est de faire plusieurs systèmes de navigation, en fonction d'une variable (logUser).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 class AuthLoadingScreen extends React.Component { componentDidMount() { const isLoggedIn = 1; var logUser =""; if (isLoggedIn ==1) { logUser = "App"; }else if (isLoggedIn ==2){ logUser = "Super"; }else { logUser = "Auth"; } } render() { return ( <View style={styles.container}> <ActivityIndicator /> <StatusBar barStyle="default" /> </View> ); } }Ma navigation se charge dans le fichier app.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 export default createAppContainer(createSwitchNavigator( { AuthLoading: AuthLoadingScreen, App: DrawerNavigator, Auth: StackNavigatorLogin, Super: DrawerNavigatorSuper, }, { initialRouteName: 'AuthLoading', } ));
Quand je modifie en dur la variable logUser et que je relance l'application, j'ai le comportement attendu.
Je ne sais pas trop comment faire pour qu'une fois connecté l'utilisateur bascule sur le type de navigation désiré.
Faut-il que la variable logUser soit globale ? Si oui, utiliser Redux est-il une bonne idée ?
Si vous avez des pistes de réflexion je suis également preneur.
Merci.
Partager