react-native 组件封装示例

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 */

var React = require('react-native');
var {
  AppRegistry,
  StyleSheet,
  Text,
    View,
    Image,
} = React;

var MyCell = React.createClass({
    render(){
        return(
            <View style={styles.CellStyle}>
                <Image source={this.props.ImageURL} style={styles.Image}/>
                <Text style = {styles.Text}>{this.props.Title}</Text>
            </View>
        );
    }
});

var zzc = React.createClass({

    getInitialState(){
        var data = [
            {ImageURL:require("./testImages/1.jpg"), Title:"酒店"},
            {ImageURL:require("./testImages/2.jpg"), Title:"美食"},
            {ImageURL:require("./testImages/3.jpg"), Title:"美食"},
            {ImageURL:require("./testImages/1.jpg"), Title:"美食"},
        ];
        return {
            MyCells:data
        }
    },

     render() {
        return (
       <View style = {{marginLeft:5,margin:20,marginRight:5}}>
            <View style={{flexDirection:'row',justifyContent:'center'}}>
                {this.state.MyCells.map(function(myCell){
                    return<MyCell ImageURL={myCell.ImageURL} Title={myCell.Title}/>
                })}
            </View>
           <View style={{flexDirection:'row',justifyContent:'center',margin:10}}>
               {this.state.MyCells.map(function(myCell){
                   return<MyCell ImageURL={myCell.ImageURL} Title={myCell.Title}/>
               })}
           </View>
       </View>
    );
  }
});

/*布局样式*/
var styles = StyleSheet.create({
  Image:{
    alignSelf:'center',
      width:45,
      height:45,
      borderRadius:8,
  },
  Text:{
      marginTop:5,
      textAlign:'center',
      fontSize:11,
    color:'#555555',
  },
    CellStyle:{
        width:70,
    },
});

//注册应用入口

AppRegistry.registerComponent('zzc', () => zzc);

效果图如下:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值