2017-08-06 10 views
0

React WebappをReact Nativeバージョンに転送中です。componentWillReceiveProps in ReactネイティブとReactJS

リアクションネイティブでは、これはログインページにあります。私は反応ナビゲーションを使用しています。

componentWillReceiveProps(nextProps) { 
    const { requestStatus, currentUser } = nextProps 
    const getUserInProgress = get(requestStatus, GET_MY_DETAILS, true) 

    if (!getUserInProgress) { 
     if (currentUser) { 
     currentUser.verified_mobile ? this.props.navigation.navigate('Dashboard') : this.props.navigation.navigate('VerifyMobile') 
     } else if (!currentUser) { 
     console.log('not logged in') 
     } 
    } 
    } 

したがってログインページでは、ユーザーの詳細を取得し、モバイルが確認されているかどうかを確認し、そうでない場合はモバイルページを確認します。

モバイルページの確認では、呼び出しが行われると、ログインページのこのコンポーネントのWillReceivePropsは、現在アクティブなページではないにもかかわらず実行されます。

私はReactJSで同じロジック/コードを持っており、まったく違った動作をします。

これはReact Nativeでは通常のことですか?

編集:

私の問題点を明確にしてください。

私がログインページにいないとき、私はモバイルページを確認しています。そのページが履歴にあるにもかかわらず、コンポーネントWillReceivePropsはまだ実行されています。これは、私がreactjsアプリを作ったときには起こりませんでした。これは反応するネイティブアプリでのみ起こっている。だから私はこれは正常な動作のページのヒストリスタックでは、そのコンポーネントを実行するのだろうかと思っていますwillReceiveProps?

+2

あなたはどのような動作を経験していますか、正確にはどのようなエラーが発生しているかを詳しく教えてください。 –

+1

はい、スタックにまだありますので、まだ存在します。それは表示されていません。 – WilomGfx

答えて

0

反応アプリではまだスタック内でアクティブなので、表示されているページだけがアクティブなので、他のページの機能はある意味「無効」になっています。

関連する問題