2017-09-17 14 views
1

反応ネイティブアプリがあり、反応ナビゲーションタブナビゲーターを使用しています。私の問題は、タブナビゲータにもログアウト機能を追加することですが、各タブには画面が必要です。ここで私がしたいのは、[ログアウト]をクリックするとどこでもナビゲートする必要がなく、asyncstorageをクリアしてログイン画面にリダイレクトするだけです。ネイティブナビゲーションタブログアウト機能に反応する

ありがとうございます!

P.S.私は反応ネイティブに新しいです。

+2

を行う場合、私に教えてくださいチェックすべきだと思います。あなたはおそらくプロファイルタブを持っていて、その画面にログアウトボタンを持っています。 – Li357

+0

ええ、私は同意します。しかし、私はちょうどデザインに従っています:) – Jed

+0

あなたは少し問題を説明することができますか?私はこれから何を得ているのですか?あなたはreduxを使用しますか?いくつかのコード例など...ありがとう –

答えて

2

あなたはあなたのユーザーにログインしてAsyncStorage(セッション)で情報を保存していると思います。

1)私が反応ナビゲーションや反応ネイティブルータフラックスとするのは、componentWillMount()関数がログアウト機能を起動し、必要なシーンにリダイレクトするコンポーネントをロードすることです。以下の例を参照してください:

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)が、ハードであり、あなたの人生はとても簡単になり、長期的にはプロジェクトの開始時には意味がありませんので、あなたのプロジェクトにReduxのを使用するために、私は非常にお勧めします。あなたは上記の例よりも何かが必要になりますが、そうするためには。通常、あなたは、タブナビゲータでログアウトボタンを持っていない:私はあなたがこのhttps://medium.com/@jonlebensold/getting-started-with-react-native-redux-2b01408c0053

が、これは単にセマンティック/ UXコメント感覚

+0

私はこれをまだ解決できませんが、私はここに別の質問があります。https://stackoverflow.com/questions/46675964/react-navigation-changing-tab-icons-on-tab-navigator-dynamicallyあなたの答えを適用することができます。ありがとう – Jed

関連する問題