网络

FetchExample.js
/**
 * Created by zhoujian on 2019/4/9.
 */

import React, {Component} from 'react';
import {FlatList, ActivityIndicator, Text, View, Alert} from 'react-native';


export default class FetchExample extends Component {

    constructor(props) {
        super(props);
        this.state = {
            isLoading: true,
        };
    }

    componentDidMount() {
        return fetch('https://facebook.github.io/react-native/movies.json').then((response) => response.json()).then((responseJson) => {
            this.setState({
                isLoading: false,
                dataSource: responseJson.movies,
            }, function () {

            });

        }).catch((error) => {
            console.error(error);
        })
    }

    render() {
        if (this.state.isLoading) {
            return (
                <View style={{flex: 1, padding: 20}}>
                    <ActivityIndicator/>
                </View>
            );
        } else {
            return (
                <View style={{flex: 1, paddingTop: 20}}>
                    <FlatList
                        data={this.state.dataSource}
                        renderItem={({item}) => <Text>{item.title}, {item.releaseYear}</Text>}
                        keyExtractor={(item, index) => item.id}
                    />
                </View>
            );
        }
    }
}


 

index.js

import {AppRegistry} from 'react-native';
import FetchExample from './js/FetchExample';
import {name as appName} from './app.json';
AppRegistry.registerComponent(appName, () => FetchExample);

 

网络