我正在使用react-native的Navigator组件,但当我想推送到anthor页面时仍然出现错误push undefined is not a function
这是我的代码
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>
);
}
}
和主页组件
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;
我仍然收到此错误,我是反应本机的初学者,所以请帮助我吗?为什么react-native这么难?
经过几个小时的工作,我解决了我的问题
首先我创建 MainApp 并使用initialRoute 定义一个 Navigator 我的代码如下所示
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
});
}
所以现在我的项目运行良好,关键是创建一个屏幕路由希望它有用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)