2017-12-20 2 views
0

StackNavigator를 사용하여 App.js에서 react-native-tab-navigator로 만든 Tabbar를로드하고 있습니다. 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을 (그것은 TabBar의 내부에)

내가 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하는 기능을 제공하여