2017-09-17 9 views
1

So habe ich eine reaktive native App und ich benutze reaktiv-Navigation Registerkarte Navigator. Mein Problem ist, dass ich meine Logout-Funktion auch auf den Tab-Navigator setze, aber jede Registerkarte erfordert einen Bildschirm. Nun, was ich will, ist, wenn ich auf Abmelden klicke, es muss nicht irgendwo navigieren, es muss nur asyncstorage löschen und dann zum Login-Bildschirm umleiten.Reagieren native navigation Registerkarte Logout-Funktion

Vielen Dank im Voraus!

P.S. Ich bin neu zu reagieren, native.

+2

Nur ein semantischer/UX Kommentar: In der Regel würden Sie nicht eine Logout-Button in einem Tab-Navigator haben. Sie haben wahrscheinlich einen Profilreiter und dann eine Abmelde-Schaltfläche auf diesem Bildschirm. – Li357

+0

Ja, ich stimme zu. Aber ich folge nur dem Design :) – Jed

+0

Kannst du ein bisschen das Problem erklären, was ich davon bekomme ist, dass du den ganzen Arbeitscode für das brauchst, was du beschreibst und keine Lösung ... Gib uns einige Informationen wie Do verwendest du redux? Einige Codebeispiele usw. ... danke –

Antwort

2

Ich vermute, dass Sie Ihren Benutzer angemeldet haben und speichern Sie seine Informationen mit AsyncStorage (Sitzung).

1) Was ich mit react-navigation oder reactive-native-router-flux tun würde, ist das Laden einer Komponente, die auf der componentWillMount() - Funktion die Logout-Funktion auslöst und ihn auf die gewünschte Szene umleitet. Siehe nachstehendes Beispiel:

import React, { Component } from 'react' 
import { connect } from 'react-redux' 
import { NavigationActions } from 'react-navigation' 
import { logoutUser } from '../actions/index' //Action from Redux 

class LogoutScene extends Component { 
    componentWillMount() { 
    this.props.logoutUser() 
    NavigationActions.navigate({ routeName: someRouteName }) 
    } 
} 

const mapStateToProps = (state) => {} 

export default connect(mapStateToProps, {logoutUser})(LogoutScene) 

2) Ich empfehle Ihnen Redux an Ihrem Projekt zu verwenden, da, obwohl hart und macht keinen Sinn, zu Beginn eines Projekts auf lange Sicht macht Ihr Leben so einfach. Um dies zu tun, benötigen Sie etwas mehr als das obige Beispiel. Ich denke, Sie sollten diese überprüfen https://medium.com/@jonlebensold/getting-started-with-react-native-redux-2b01408c0053

Lassen Sie mich wissen, ob dies Sinn macht

+0

Ich bin noch nicht in der Lage, dies zu lösen, aber ich habe eine andere Frage https://StackOverflow.com/questions/46675964/React-Navigation-change-Tab-icons-on-Tab-Navigator-dynamisch vielleicht nach diesem ich kann deine Antwort anwenden. Vielen Dank – Jed

Verwandte Themen