React-native 之Image的使用

本系列教程是学习东方耀老师的课程中按照教程写的课堂笔记,基础控件的使用其实与Android及iOS类似,并没有太大的区别,因此此处只记录代码,不做更多分析,等后期项目实战阶段再详细分析。

界面上有两个按钮,上面有三张图片,点击“上一张”、“下一张”切换,当切换到最后一张时不能再点击下一张,当切换到第一张时不能点击上一张,效果图如下:


index.ios.js的代码如下:


 

import React,{Component} from 'react'; import { AppRegistry,StyleSheet,Text,View,Image,PiexRatio,TouchableOpacity,} from 'react-native'; var imgs=[ 'https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png','https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1746876025,1511395716&fm=80&w=179&h=119&img.JPEG','https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=2769333013,754789968&fm=80&w=179&h=119&img.JPEG' ]; class ReactDemo extends Component { render() { return ( <View style={[styles.flex,{marginTop:45}]}> <MyImage imgs={imgs}></MyImage> </View> ); } } class MyImage extends Component { constructor(props) { super(props); this.state = { count:0,imgs:this.props.imgs,}; } render(){ return( <View style={[styles.flex,{alignItems:'center'}]}> <View> <Image style={styles.img} resizeMode="contain" source={{uri:this.state.imgs[this.state.count]}} /> </View> <View style={styles.btns}> <TouchableOpacity onPress={this.goPreview.bind(this)}> <View style={styles.btn}> <Text>上一张</Text> </View> </TouchableOpacity> <TouchableOpacity onPress={this.goNext.bind(this)}> <View style={styles.btn}> <Text>下一张</Text> </View> </TouchableOpacity> </View> </View> ); } goPreview(){ var count=this.state.count; count--; if (count >= 0) { this.setState({count:count}); } } goNext(){ var count=this.state.count; count++; if (count < this.state.imgs.length) { this.setState({count:count}); } } } const styles = StyleSheet.create({ flex:{ flex:1,},btn:{ width:60,height:30,borderColor:'#0089FF',borderWidth:1,justifyContent:'center',borderRadius:3,marginRight:20,btns:{ flexDirection:'row',marginTop:20,img:{ height:150,width:200,}); AppRegistry.registerComponent('ReactDemo',() => ReactDemo);

相关文章

导入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, ....