2017-03-09 30 views

答えて

0

はあなたの新しいページコンポーネントに別の関数にthis.props.navigator電話した

01:?

import React, { Component } from 'react'; 
import {AppRegistry, StyleSheet, Text, View, Navigator, Button } from 'react-native'; 
import {createRouter, NavigationProvider, StackNavigation, TabNavigation,TabNavigationItem as TabItem,}from '@exponent/ex-navigation'; 
import * as firebase from "firebase"; 

firebase.initializeApp(config); 

import Login from 'auth/firstPage' 
var Register = require('auth/register') 
var Tab = require('./src/components/tab/mainTab'); 

const Router = createRouter(() => ({ 
    login:() => Login, 
    register:() => Register, 
    tab:() => Tab, 
})); 

export default class main extends Component { 

    componentWillMount(){ 
    this.setState({ name:'login'}); 
    } 

    constructor(props) { 
    super(props); 
    this.state = { 
     name: 'tab' 
    }; 
    } 

    render(){ 
    return(
    <NavigationProvider router={Router}> 
     <StackNavigation initialRoute={Router.getRoute(this.state.name)} /> 
    </NavigationProvider> 
    ) 
} 
} 

これは私がナビゲートするために使用されるコードであります

あなたがthis.props.navigatorにアクセスすることができますあなたの新しいページのコンストラクタに以下を追加する必要があります。仕事のthats

constructor(props){ 
    super(props); 
    this.FUNCTION_CALL_NAV = this.FUNCTION_CALL_NAV.bind(this); 
} 

FUNCTION_CALL_NAV() { 
    this.navigator.push({name: 'register'}); 
} 
+0

が、今、それは私にエラーを与える:ルートはnullまたは不正な形式です。 – user3316092

+0

ルートフォルダにroute.jsという名前の区切りファイルを作成し、すべてのルートをそこに入れることをお勧めします。次に、ルータの機能を使用する必要があるときはいつでも、各コンポーネントの上部で、 'ルート'からルートをインポートするだけです。 – MattYao

関連する問題