react-native 组件封装示例

前端之家收集整理的这篇文章主要介绍了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"),{ImageURL:require("./testImages/1.jpg"),];
        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);

@H_270_404@效果图如下:

猜你在找的React相关文章