如何从内部组件ReactNative调用App.js?

时间:2017-12-20 05:41:02

标签: react-native react-navigation

我正在使用StackNavigator加载在App.js中使用react-native-tab-navigator创建的Tabbar。我在Tabbar中有一个视图。如何从该视图导航回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(位于Tabbar内)

如何返回App.js并加载SigninSignup

我试过了

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

但是获得了错误undefined is not an object (evaluating 'this.props.navigation')

1 个答案:

答案 0 :(得分:1)

您的导航层次结构以server { listen 80; server_name admin.example.com root /var/www/html; index index.php index.html; location / { return 301 http://admin.example.com/admin/login; } } 导航器开始。

由于您的组件根据SigninSignup呈现了导航器或标签栏,因此您只能this.state.condition到另一个屏幕。

您可以解决此问题,将标签栏和navigate导航器移动到新的根导航器中,并使用它在所有内容之间导航,或者通过向SigninSignup提供可更改值的函数Tabbar

condition