0
嘿傢伙我有一個問題在切換與反應天然前導航頁面: 錯誤:未定義不是一個對象(計算「this.props.navigator」陣營天然前導航chnaging路由器
這是驗證碼:
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.push({name:'register'})
那是工作,但現在它給我一個錯誤:路徑爲空或畸形。 – user3316092
我建議你在根文件夾中創建一個名爲route.js的獨立文件,並將其中的所有路由。然後在每個組件的頂部,只要需要使用路由器功能,只需從'路由'導入路由。 – MattYao