Reactjs 未定义的navigator.push-React-native 0.43.4
我正在使用react native的Navigator组件,但当我想要推送到另一个页面时,仍然会出错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
推送未定义不是一个函数
,因此有我的代码
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
});
}