2017-12-20 18 views
0

私は、StackNavigatorを使用して、App.jsでreact-native-tab-navigatorで作成したタブバーを読み込みます私はTabbarの中に眺めがある。そのビューからどのようにApp.jsに戻ることができますか?内部コンポーネントReactNativeからApp.jsを呼び出す方法は?

App.js

import { StackNavigator } from 'react-navigation'; 

const SigninSignup = StackNavigator({ 
    Signup: { screen: Signup }, 
    Signin: { screen: Signin }, 
}); 

render() { 
     if (this.state.condition) { 
      return (<Tabbar />); 
     } else { 
      return (<SigninSignup />); 
     } 
    } 

Myview.js(これは、タブバーの内側にある)

どのように私は戻ってApp.jsと負荷SigninSignupに行くことができますか?

私は

const { navigate } = this.props.navigation; 
navigate('Signin', {}); 

を試みたが、undefined is not an object (evaluating 'this.props.navigation')

答えて

1

あなたのナビゲーション階層がSigninSignupナビゲータで始まるエラーを取得しています。

コンポーネントは、ナビゲータまたはタブバーをthis.state.conditionに従ってレンダリングしているため、他の画面にはただnavigateしか使用できません。

<Tabbar onSomething={() => this.setState({condition: !this.state.condition})} /> 

あなたは詐欺この新しいルートナビゲーターにタブバーとSigninSignupナビゲーターを移動し、conditionの値を変更することを、すべての間、またはTabbarに機能を提供することにより、ナビゲートするためにそれを使用することのいずれかを解決します

関連する問題