Reactjs 未定义的navigator.push-React-native 0.43.4

Reactjs 未定义的navigator.push-React-native 0.43.4,reactjs,react-native,Reactjs,React Native,我正在使用react native的Navigator组件,但当我想要推送到另一个页面时,仍然会出错推送未定义不是一个函数,因此有我的代码 import React, { Component } from 'react'; import { View, StyleSheet, Navigator, Text, TouchableHighlight } from 'react-native'; import Home from './Home'; impor

我正在使用react native的Navigator组件,但当我想要推送到另一个页面时,仍然会出错
推送未定义不是一个函数
,因此有我的代码

import React, { Component } from 'react';
import {
    View,
    StyleSheet,
    Navigator,
    Text,
    TouchableHighlight
} from 'react-native';
import Home from './Home';
import Main from './Main';

class MainApp extends Component {


    _navigate(){
        this.props.navigator.push({
            name: Home
        })
    }


    render() {


        return (
        <View style={styles.container}>
            <TouchableHighlight onPress={ () => this._navigate() }>
                <Text>GO To View</Text>
            </TouchableHighlight>

        </View>


        );
    }
}
import React,{Component}来自'React';
进口{
看法
样式表,
领航员,
文本,
可触摸高光
}从“反应本机”;
从“./主页”导入主页;
从“/Main”导入Main;
类MainApp扩展组件{
_导航(){
这个是.props.navigator.push({
姓名:Home
})
}
render(){
返回(
这个。_navigate()}>
查看
);
}
}
和主组件

class Home extends Component {
    render() {

        return (
            <View style={styles.container}>
                <Text>Welcome Hello</Text>
            </View>
        );
    }
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
    },

});

export default Home;
class Home扩展组件{
render(){
返回(
欢迎大家好
);
}
}
const styles=StyleSheet.create({
容器:{
弹性:1,
},
});
导出默认主页;

我还是会犯这个错误,我是react native的初学者,请帮帮我好吗?为什么反应如此强烈

所以!首先,注册护士没那么难^^我两周前就开始了,别担心会变得更容易

如果你同意的话,我给你举个例子

MainApp

renderScene(route,nav) {
switch (route.screen) {
  case "LaunchScreen":
    return <LaunchScreen navigator={nav} />
  case "LoginScreen":
    return <LoginScreen navigator={nav} />
  case "ListBillScreen":
    return <ListBillScreen navigator={nav} />
  case "AddBillScreen":
    return <AddBillScreen navigator={nav} />
  case "BillScreen":
    return <BillScreen navigator={nav} bill={route.props}/>
  case "PersistanceDemo":
    return <PersistanceDemo navigator={nav} />
  }

}

render () {
 return (
   <Navigator
          initialRoute={{screen: 'LaunchScreen'}}
          renderScene={(route, nav) => {return this.renderScene(route, nav)}}
        />
      )
 }
}
您需要使用屏幕名称导航!一旦你做到了这一点,你将很容易在你将看到的视图之间导航


保持强壮

工作了几个小时后,我解决了我的问题
首先,我创建MainApp并使用initialRoute定义导航器。我的代码如下所示

class MainApp extends Component {
    renderScene(route, navigator) {
            console.log(route, navigator);
            if (route.component) {
                return React.createElement(route.component, { navigator });
            }
        }

        render() {
            return (
                <Navigator
                    initialRoute={{name: 'Home', component: Home}}
                    configureScene={() => {
                        return Navigator.SceneConfigs.FloatFromRight;
                    }}
                    renderScene={this.renderScene}
                />
            );
        }
}
因此,现在我的项目运行良好,关键是创建一个屏幕路径,希望它有用

class MainApp extends Component {
    renderScene(route, navigator) {
            console.log(route, navigator);
            if (route.component) {
                return React.createElement(route.component, { navigator });
            }
        }

        render() {
            return (
                <Navigator
                    initialRoute={{name: 'Home', component: Home}}
                    configureScene={() => {
                        return Navigator.SceneConfigs.FloatFromRight;
                    }}
                    renderScene={this.renderScene}
                />
            );
        }
}
   _navigate() {
        this.props.navigator.replace({
            name: 'Main',
            component: Main
        });
    }