2016-09-07 5 views
0

React Native Router Fluxを使用して、認証が有効になったらユーザーを新しいシーンにリダイレクトする例を探しています。仮定すると、私はそうのように私のルータコンポーネントを定義していますネイティブルータのFluxにリダイレクトしてログイン時のシーンをリダイレクトする例

<Router> <Scene key="root"> <Scene key="login" component={Login} title="Login" initial={true} hideNavBar="true" duration={1} /> <Scene key="home" component={Home} title="Home" hideNavBar="true" duration={1} /> </Scene> </Router>

  • HomeLoginからリダイレクトするように<Router>に更新する必要がありますか?
  • 私のRouterコンポーネントがDrawerコンポーネント内にネストされている場合、/ユーザーはログインするように状態を更新しますか?
+0

reduxを使用してアプリケーションの状態を管理していますか? – Steven

+0

いいえ。それは問題ですか? –

+0

ええ、あなたはあなたがアクション['home']()を呼び出すことができますか? – Steven

答えて

1

認証が完了するとすぐにログインコンポーネントでActions.home()を使用してください。ルーターコンポーネントは変更する必要はありません。

2番目の質問では、グローバルな状態を持つことはできません(本当に単純なアプリケーションを複雑にしない限り)。 1つを使用するには、Reduxまたは類似のライブラリを使用する必要があります。

0

リダイレクトする最も簡単な方法は、認証が完了したらActions.home()を使用することです。あなたはあなたのアプリケーションの状態を管理するためにreduxを使用していないからです。物事は複雑になる。

今後のケースでユーザーがログインしているかどうかを知るソリューションを探していると思います。私はあなたの最善の策がasyncstorageになると信じています。変数is_loggedinをtrueに格納するだけです。将来、この変数をチェックして、ユーザーがログされているかどうかを調べることができます。

しかし、Redux/Refluxの使用を真剣にお勧めします。はるかに良いでしょう。

関連する問題