react-navigation 简单使用
来源:互联网 发布:mac粉底液色号选择 编辑:程序博客网 时间:2024/05/29 13:01
react-navigation 做 TarBar 布局和导航非常简单方便,最好用的导航了http://www.jianshu.com/p/2ce08b92cf60
https://reactnavigation.org/docs/intro/
常用布局一般是首页 4 个 TabBar 布局,直接用 TabNavigator 就行
import {StackNavigator, TabNavigator} from "react-navigation";const MainScreenNavigator = TabNavigator({ Home: { screen: Home, navigationOptions: { tabBar: { label: '互助', icon: ({tintColor}) => ( <Image source={require('../images/home.png')} style={[{tintColor: tintColor},styles.icon]} /> ), }, } }, Certificate: { screen: Certificate, navigationOptions: { tabBar: { label: '凭证', icon: ({tintColor}) => ( <Image source={require('../images/cert.png')} style={[{tintColor: tintColor},styles.icon]} /> ), }, } },}, { animationEnabled: false, // 切换页面时不显示动画 tabBarPosition: 'bottom', // 显示在底端,android 默认是显示在页面顶端的 swipeEnabled: false, // 禁止左右滑动 backBehavior: 'none', // 按 back 键是否跳转到第一个 Tab, none 为不跳转 tabBarOptions: { activeTintColor: '#0F9C00', // 文字和图片选中颜色 inactiveTintColor: '#999', // 文字和图片默认颜色 showIcon: true, // android 默认不显示 icon, 需要设置为 true 才会显示 indicatorStyle: {height: 0}, // android 中TabBar下面会显示一条线,高度设为 0 后就不显示线了, 不知道还有没有其它方法隐藏??? style: { backgroundColor: '#fff', // TabBar 背景色 }, labelStyle: { fontSize: 12, // 文字大小 }, },});const styles = StyleSheet.create({ icon: { height: 22, width: 22, resizeMode: 'contain' }});
然后顶层再用一个 StackNavigator ,把首页和其它页面嵌进去就行了。
StackNavigator 和 TabNavigator 是可以相互嵌套的,这样就能从首页 Tab 跳转到其它页面了
const App = StackNavigator({ Main: { screen: MainScreenNavigator, navigationOptions: { header: { title: '互助', style: { backgroundColor: '#fff' }, backTitle: null } } }, PlanDetail: { screen: PlanDetail, navigationOptions: { header: { style: { backgroundColor: '#fff' }, } } }});AppRegistry.registerComponent('QQHZ_RN', () => App);
页面跳转、返回、传参
const {navigate} = this.props.navigation;<TouchableHighlight onPress={()=>{ navigate('PlanDetail',{name:'leslie',id:100});}}>// 返回上一页this.props.navigation.goBack();
navigate 函数根据名字跳转,还可以有第二个参数用于页面之间传递参数
接收参数
export default class PlanDetail extends Component { static navigationOptions = { // title 可以这样设置成一个函数, state 会自动传过来 title: ({state}) => `${state.params.name}`, }; componentDidMount() { const {params} = this.props.navigation.state; const id = params.id; }
通过 this.props.navigation.state.params 接收参数
0 0
- react-navigation 简单使用
- react-navigation Navigation使用
- react-navigation使用
- react-navigation使用技巧
- react-navigation使用
- react-navigation使用心得
- React Navigation基础使用
- react-navigation使用技巧
- react-navigation 使用详解
- react-navigation使用技巧
- react-navigation使用技巧
- react-navigation的使用
- react-navigation 使用详解
- react-navigation使用技巧
- React-Native 中 react-navigation 简单
- react-navigation之TabNavigator使用
- React-navigation StackNavigator 使用攻略
- react-native Navigation使用一
- caffe学习记录--6--全链接层
- PHP扁平化数组代码
- CocoaPods安装出现SSL verification error
- 解决adobe flash 使用有问题的方法
- 原滋原味的构建Spring Framework源码
- react-navigation 简单使用
- XShell提示Connection closed by foreign host的问题 和 路由器分配IP的规则
- linux下的mysql下载
- JS创建对象之稳妥构造函数模式
- Swift 包管理器教程
- react-navigation使用
- Android开发进阶—线程和线程池
- 单点登陆(一):思考
- 面Android的时候要想些什么