Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

React Native组件布局应用示例小结

$
0
0

序:

     学完了Flex布局和Text Image组件,感觉可以总结一下了。因为本人对英雄联盟比较感兴趣,所以准备把前面学习的做一个应用小例子。

     都是前面文章提到内容,主要练习下熟练度,就不写备注了。

先看下效果:

     




代码如下:


import React, { Component } from 'react';
import {
   AppRegistry,
  StyleSheet,
  Text,
  View,
  Image,
} from 'react-native';

var heroData = require('./ImageData.json');

class RNHybrid extends Component {

  render() {  
      return(  
        <View style={styles.container}>  
            {this.renderLoadForView()}  
        </View>  
      );  
   }

   renderLoadForView(){  
    var forView = [];
    var heroArray = heroData.data
    for (var i = 0; i < heroArray.length; i++) {  
    	var hero =  heroArray[i];
        forView.push(
        <View key={i} style={styles.containViewStyle}>
        <Image source={{uri: hero.img}}  style={styles.imageStyle}/>  
        <Text key={i}>
           {hero.title}
        </Text>
        </View>
      );  
    }  
    return forView;  
  }  
}


const styles = StyleSheet.create({
   container:{
   		marginTop:100,
   		flexDirection:'row',
      flexWrap:'wrap',
      justifyContent:'space-around',
   },
   containViewStyle:{
      alignItems:'center',
      justifyContent:'center',
      width:120,
      height:120,
      borderColor:'black',
      borderWidth:1,
      marginBottom:10,
   },
   imageStyle:{
      width:60,
      height:60,
   },
});

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


前面博客没有提到的知识点说明:

1、var heroData = require('./ImageData.json');

看下Json文件:

{
  "data": [
    {
      "img" : "hero1",
      "title" : "木木"
    },
    {
      "img" : "hero2",
      "title" : "剑姬"
    },
    {
      "img" : "hero3",
      "title" : "船长"
    },
    {
      "img" : "hero4",
      "title" : "日女"
    },
    {
      "img" : "hero5",
      "title" : "锤石"
    },
    {
      "img" : "hero6",
      "title" : "老鼠"
    }
  ]
}


解答:这句话的意思是拿到json这个对象,就相当于OC中拿到一个解析好的Json文件。剩下的大家都知道了。


2、图片位置:



解答:图片我都放在Asset里面了,当然你也可以网络加载,或者放在RN项目中。


3、循环添加视图,JSX语法有说可以看下。JSX语法


资源文件:https://pan.baidu.com/s/1i5l95xb

作者:ZY_FlyWay 发表于2017/8/16 15:27:24 原文链接
阅读:24 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>