1

なぜReact Native Navigatorコンポーネントのがrouteであるというエラーが表示されますか?私は正しい情報を押していると思ったが、そうは思わなかったか?どんな助けもありがとう。私はウェブを使って作業するので、React Nativeはかなりのシフトです。だから、React Native Navigatorルートオブジェクトが定義されていません

...私は私のSignUpFormコンポーネントに私のSplashContainerコンポーネントからナビゲートしたい

。だから、SplashContainerで、私はこれを行う...

class SplashContainer extends Component { 
    handleLoginFinished =() => { 
     this.props.dispatch(handleAuthWithFirebase()) 
    } 
    handleToSignUp =() => { 
     this.props.navigator.push({ 
      signUpForm: true 
     }); 
    } 
    handleToSignIn =() => { 
     this.props.navigator.push({ 
      signIn: true 
     }) 
    } 
    render() { 

     return (
      <Splash onLoginFinished={this.handleLoginFinished} goToSignUp={this.handleToSignUp} goToSignIn={this.handleToSignIn} /> 
     ) 
    } 
} 

export default connect()(SplashContainer) 

が続いリアクトネイティブナビゲータで、私はこれを行う...通常ナビゲーションは次のように設定されている

export default class NimbusNavigator extends Component { 
    static propTypes = { 
     isAuthed: PropTypes.bool.isRequired 
    } 
    renderScene = (route, navigator) => { 
     // Keeps track of whether user is Authed or not. 
     if (this.props.isAuthed === false) { 
      return <SplashContainer navigator={navigator}/> 
     } else if (route.signUpForm === true) { 
      return <SignUpForm navigator={navigator}/> 
     } 

     return <FooterTabsContainer navigator={navigator} /> 
    } 
    configureScene = (route) => { 

    } 
    render() { 
     return (
      <Navigator 
       configureScene={this.configureScene} 
       renderScene={this.renderScene} 
      /> 
     ) 
    } 
} 

答えて

2

Navigatorの初期ルートを指定していなかったため、開始時にルートが定義されていません。小道具initialRouteまたはinitialRouteStackのどちらかを設定したいとします。

render() { 
    return (
     <Navigator 
      initialRoute={{ name: 'HOME' }} 
      configureScene={this.configureScene} 
      renderScene={this.renderScene} 
     /> 
    ) 
} 
0

handleToSignUp =() => { 
     this.props.navigator.push({ 
      name: 'signUpForm' 
     }); 
    } 

//

renderScene = (route, navigator) => { 
    // Keeps track of whether user is Authed or not. 
    if (this.props.isAuthed === false) { 
     return <SplashContainer navigator={navigator}/> 
    } else if (route.name === 'signUpForm') { 
     return <SignUpForm navigator={navigator}/> 
    } 

    return <FooterTabsContainer navigator={navigator} /> 
} 
+0

ルートは 'undefined'のいずれかの方法だろう:あなたが名前のHOMEのルートで開始すると仮定すると、

は、ここでのルート{ name: 'HOME' }が定義されている例では、インラインです。 – maxwellgover

関連する問題