React-Native之最基础

学习React-Native大概两周了吧,每天都是到处查找视频,练习Demo,学习效果还行.

要说一些简单的组件,怕是没什么难度,但我个人感觉在ReactNative中语法不是太难,毕竟,做过原生的开发,java水平还行,所以感觉在学习Reactnative的基础课程上,不是太吃力,但学习吗,总是一个过程,在这里呢,就是想记录一下,日后可以回顾一下.

这次记录一下,关于学习ScrollView时,练习的一个电影列表的Demo,但,此处并不是请求网络获取的条目数据,而是通过地址来请求获得的数据,在此处就是利用数组来进行数据的存储,下面就不多说了,看一下代码吧:

新建movieList.js:

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

/*
* 数据源地址:
* https://raw.githubusercontent.com/facebook/react-native/master/docs/MoviesExample.json
* 返回的是Json格式的数据
* */

//从文件中读取数据,执行json.parse()方法,json格式的字符串转化为json格式对象
var movieData = require("./data.json");

//获取所有movies数据,属性movies是一个数组
var movies = movieData.movies;

var MovieList = React.createClass({

    render:function(){
        //创建电影组件,根据movies中的元素个数,创建对应的组件
        //遍历数组,每当创建一个movie对象,就创建一个组件对象,样式一致,内容不一致

        //定义空数组,存储显示电影信息的组件
        var moviesRows=[];
        //遍历数组
        for(var i in movies){
            //获取movie对象
            var movie = movies[i];
            //创建组件,显示电影信息:图像(movie.posters.thumbnail),电影名称(movie.title),上映时间(movie.year).
            var row = (
                <View style={styles.row} key={i}>
                    <Image
                        style={styles.thumbnail}
                        source={{uri:movie.posters.thumbnail}}/>
                    <View style={styles.rightContainer}>
                        <Text style={styles.title}>{movie.title}</Text>
                        <Text style={styles.year}>{movie.year}</Text>
                    </View>
                </View>
            );
            //将创建的组件存储到数组中
            moviesRows.push(row);
        }

        return(
            <View style={styles.container}>
                <ScrollView style={styles.scrollView}>
                    {
                        //数组(所有子组件)
                        moviesRows
                    }
                </ScrollView>
            </View>

        );
    }

});

var styles = StyleSheet.create({
    container:{
        flex:1
    },
    scrollView:{
        flex:1,
        marginTop:25,
        backgroundColor:"#F5FCFF"
    },
    row: {
        flexDirection:"row",
        padding:5,
        alignItems:"center",
        backgroundColor:"#F5FCFF"
    },
    thumbnail:{
        width:53,
        height:81,
        backgroundColor:"gray"
    },
    rightContainer:{
        marginLeft:10,
        flex:1
    },
    title:{
        fontSize:8,
        marginTop:3,
        marginBottom:3,
        textAlign:"center"
    },
    year:{
        marginBottom:3,
        textAlign:"center"
    },
});

module.exports = MovieList;
然后在index.android.js文件中加载:

//ScrollView实现电影列表
var Hello = require("./movieList");
到此,代码就结束了,相当简单,放在这里就是一个参考作用

好了,有兴趣的可以参考一下.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值