新建一个navigator.js文件, 主组件为Nav, 并向外暴露.
可以实现跳转的组件有:NavigatorIOS , Navigator , React Navigation,可以翻译为导航器。首先准备两个页面: firstPage,secondPage , 各有一个按钮, 相互跳转:
准备页面:
class firstPage extends Component {
press_next() {
//点击按钮 ,下一界面
};
render() {
return (
<View style={[styles.flex, {backgroundColor: 'yellow'}]}>
<TouchableOpacity onPress={} style={styles.btn}>
<Text>点击退出下一级页面</Text>
</TouchableOpacity>
</View>
)
};
}
//定义第二个页面
class secondPage extends Component {
render() {
return (
<View style={[styles.flex, {backgroundColor: 'cyan'}]}>
<TouchableOpacity onPress={} style={styles.btn}>
<Text>点击退回上一级页面</Text>
</TouchableOpacity>
</View>
)
};
press_pre() {
//点击按钮 ,上一界面
};
}
然后在主组建中定义(初始化)Navigator , 在之后的操作中
export default class Nav extends Component {
render() {
// 指定首次显示的界面为firstPage
var rootRoute = {
component: firstPage
};
return (
<Navigator
/* 第一步: 设置属性initRoute, 设置路由
必须包含的属性:component
*/
initialRoute={rootRoute}
/**
* 第二步: configureSence 配置跳转场景
*/
configureScene={(route) => {
return Navigator.SceneConfigs.PushFromRight //从右向左
}}
/**
* 第三步: renderSence 渲染场景
* 参数:
* 1. route 第一步设置的路由对象
* 2. Navigator 导航对象
* 实现:
* 给需要显示的组件设置属性
*/
renderScene={(route, navigator) => {
// 从route对象中获取页面组件
var Minuit =
return (<Minuit navigator={navigator} {...route.passProps}/>);
}}
></Navigator>
)
}
}