reactnative tabnavigator

这种效果相信大家见的很多,那么是怎么实现的呢?使用的是reactNavigation

代码如下

import React,{Component} from 'react';
import {
	View,Text,Image,ActivityIndicator,StyleSheet,Dimensions,Animated,Easing
} from 'react-native';

import {
	StackNavigator,TabNavigator,} from 'react-navigation'

import ShopInfo from './ShopInfo';
import ShopUrl from './ShopUrl';
import ShopEvaluate from './ShopEvaluate';

const {width,height} = Dimensions.get('window');
const tabWidthPadding = (((width)/3)-30)/2;



const MainScreen = TabNavigator({
	shopInfo:{
		screen:ShopInfo,navigationOptions:{
			title:'商品',}
	},shopUrl:{
		screen:ShopUrl,navigationOptions:{
			title:'详情'
		}
	},shopEvaluate:{
		screen:ShopEvaluate,navigationOptions:{
			title:'评价'
		}
	}
},{
	tabBarOptions:{
		activeTintColor:'#000000',inactiveTintColor:'#666666',style:{
			backgroundColor:'white',height:50,},indicatorStyle:{
			height:3,width:30,backgroundColor:'#fa372d',marginLeft:tabWidthPadding,marginRight:tabWidthPadding,justifyContent:'center'
		}
	}
});

const Shop = StackNavigator({
	mainScreen:{
		screen:MainScreen,navigationOptions:{
			gesturesEnabled:true,header:null
		}
	}
})


export default class ShopHomeInfo extends Component{

	constructor(props){
		super(props)

	}

	render(){
		const {params} = this.props.navigation.state;
		return(
			<View style={styles.container}>
				<Shop style={{flex:1}} />
			</View>
		);
	}
}

const styles = StyleSheet.create({
  container:{
  	width:width,height:height,})

ShopInfo.js的代码如下
import React,ScrollView,} from 'react-native';

export default class ShopInfo extends Component{

	constructor(props){
		super(props)
		this.state={

		}
	}

	componentDidMount(){

	}

	render(){
		return(
			<View>
				<Text>商品信息参数是:</Text>
			</View>
		);
	}

}

ShopUrl.js
import React,WebView,} from 'react-native';

export default class ShopUrl extends Component{

	render(){
		return(
			<WebView 
				source={{uri:'http://blog.csdn.net/u010648159/article/details/78636281'}}
				style={{flex:1}}
			/>
		);
	}
}

ShopEvaluate.js
import React,} from 'react-native';

export default class ShopEvaluate extends Component{

	render(){
		return(
			<View style={{width:50,height:50}}>
				<Text>商品评价</Text>
			</View>
		);
	}
}
就是这么的简单,如果如果要在导航栏加上左边返回按钮,就比较麻烦了,大家可以想一想啊!!!!

相关文章

导入moment 使用方式 年月日,时分秒 星期几 相对时间 7天后 2小时后 明天 将毫秒转换成年月日
@ 一、前言 为什么介绍redux-actions呢? 第一次见到主要是接手公司原有的项目,发现有之前的大佬在处理...
十大React Hook库 原文地址:https://dev.to/bornfightcompany/top-10-react-hook-libraries-4065 原文...
React生命周期 React的生命周期从广义上分为挂载、渲染、卸载三个阶段,在React的整个生命周期中提供很...
React虚拟DOM的理解 Virtual DOM是一棵以JavaScript对象作为基础的树,每一个节点可以将其称为VNode,用...
React中JSX的理解 JSX是快速生成react元素的一种语法,实际是React.createElement(component, props, ....