ReactNative 自定义组件

定义属性

import PropTypes from 'prop-types'

  static propTypes = {
        title:PropTypes.string.isRequired,// 必选
        titleColor:PropTypes.any,
        onPress:PropTypes.func,
        selected:PropTypes.bool,
        icon:PropTypes.any
    }
    static defaultProps = {
        titleColor:'#4b4b4f',//可选默认值
        onPress:undefined,
        
        selected:false,
        icon:""
    }

  render() { 
        return (  
            <TouchableOpacity activeOpacity={0.5}  style={[styles.container]} onPress={this.onPress}>
             <View >
                <View style={[styles.imageBg,{backgroundColor:this.props.selected?'#45bfbc':'transparent'}]}>
                    <Image source={this.props.icon} style={{width:22,height:22}} resizeMode='contain'></Image>
                </View>
                <Text style={[styles.text,{color:this.props.titleColor}]}>{this.props.title}</Text>
             </View>

            </TouchableOpacity>
   
        );
    }
posted @ 2021-07-21 16:55  菜鸟工程司  阅读(143)  评论(0编辑  收藏  举报