在上一篇 【REACT NATIVE 系列教程之一】触摸事件的两种形式与四种TOUCHABLE组件详解 中的最后介绍了如何使用Touchable的四种组件进行监听触摸事件。
importReact, { AppRegistry, Component, Image, TouchableHighlight, } from 'react-native';
class MyButton extends Component { render() { return ( <TouchableHighlight underlayColor={this.props.bgColor} activeOpacity={0.5} onPress={this.props.onPress} > <Image source={require('./res/himi.png')} style={ { width: this.props.imgWidth, height: this.props.imgHeight }} /> </TouchableHighlight> ) } }
需要注意的:this.props.children 的值有三种可能:
a.如果当前组件没有子节点,它就是 undefined ;
b.如果有一个子节点,数据类型是 object ;
c.如果有多个子节点,数据类型就是 array 。所以,处理 this.props.children 的时候要小心。
module.exports = MyButton;
importMyButtonfrom './MyButton'
import X from ‘ Y ‘
X: 任意名字,用来代表我们导入的组件在此的临时组件名(可以与原组件名一致)
Y: 组件所在的相对路径
<MyButton bgColor='#000' onPress ={()=>{Alert.alert('Himi', ' MyBtton IS Click! ');}} imgWidth={100} imgHeight={100} > </MyButton>
bgColor: 传给MyButton的按下后的底色
onPress: 传给MyButton的触发函数(这里Himi偷懒用了lambda表达式)
imgWidth:传给MyButton中所用图片的宽
imgHeight:传给MyButton中所用图片的高