美文网首页
数据解析-App

数据解析-App

作者: YH6666 | 来源:发表于2018-11-16 11:44 被阅读0次

import React, { Component } from "react";

import { Platform, StyleSheet, Text, View } from "react-native";

import RefreshListView, { RefreshState } from "react-native-refresh-list-view";

export default class App extends Component {

  /**

  * 初始化构造方法

  */

  constructor(props) {

    super(props);

    this.state = {

      dataValue: [], //数据源

      refreshState: RefreshState.Idle, //静止状态

      page: 1

    };

  }

  /**

  * 生命周期

  */

  componentDidMount() {

    this.onHeaderRefresh();

  }

  //下拉刷新

  onHeaderRefresh = () => {

    //1.更新状态,下拉状态

    this.setState({

      refreshState: RefreshState.HeaderRefreshing,

      page: 1

    });

    //2.网络加载

    fetch(

      `https://cnodejs.org/api/v1/topics?page=${

        this.state.page

      }&tab=good&limit=10`

    )

      .then(response => response.json())

      .then(responseJson => {

        this.setState({

          dataValue: responseJson.data,

          refreshState: RefreshState.Idle,

          page: this.state.page + 1

        });

      })

      .catch(error => {

        this.setState({

          refreshState: RefreshState.Failure

        });

        console.warn(error);

      });

  };

  //上拉加载更多

  onFooterRefresh = () => {

    this.setState({

      refreshState: RefreshState.FooterRefreshing

    });

    //2.网络加载

    fetch(

      `https://cnodejs.org/api/v1/topics?page=${

        this.state.page

      }&tab=good&limit=10`

    )

      .then(response => response.json())

      .then(responseJson => {

        this.setState({

          dataValue: [...this.state.dataValue, ...responseJson.data],

          refreshState: RefreshState.Idle,

          page: this.state.page + 1

        });

      })

      .catch(error => {

        this.setState({

          refreshState: RefreshState.Failure

        });

        console.warn(error);

      });

  };

  /**

  * 元素渲染

  */

  render() {

    return (

      <View style={styles.container}>

        <RefreshListView

          style={styles.welcome}

          data={this.state.dataValue}

          keyExtractor={(item, index) => index}

          renderItem={({ item }) => (

            <Text

              style={{ width: "100%", height: 80 }}

              onPress={() => {

                this.props.navigation.navigate("Details", {

                  abc: item.content

                });

              }}

            >

              {item.title}

            </Text>

          )}

          refreshState={this.state.refreshState}

          onHeaderRefresh={this.onHeaderRefresh}

          onFooterRefresh={this.onFooterRefresh}

        />

      </View>

    );

  }

}

/**

* 样式表

*/

const styles = StyleSheet.create({

  container: {

    flex: 1,

    backgroundColor: "#F5FCFF"

  },

  welcome: {

    flex: 1

  }

});

相关文章

  • 数据解析

    XML数据格式解析 pull解析方式 sax解析方式 JSON 数据格式解析 解析代码很简单,但是还要有APP类,...

  • 数据解析-App

    import React, { Component } from "react"; import { Platfo...

  • 菜鸟学习之Android中pull解析xml原理

    我们在开发Android app的时候,常常用到对数据进行解析,最常用的就是对xml,与json解析。json基本...

  • Flutter json解析以及模型化

    目前App请求后台数据,后台返回的数据格式主流都是用json,以下是记录 Flutter 解析 json 数据以及...

  • 爬虫了解

    爬虫流程 使用浏览器驱动器或者app驱动器,模拟人工操作,获取接口响应或者有意义的DOM数据;对数据进行解析;解析...

  • 五、Groovy语法(五)json、xml解析

    Groovy数据解析 一、json解析 请求网络数据并解析 二、xml解析 groovy解析xml数据 groov...

  • iOS 16进制字符串和NSData、NSString互转

    背景: 当app与硬件交互时,双方写入读取数据的协议都是根据字节位数来的,写入读出数据解析时,使用NSString...

  • 数据处理

    1、处理返回数据中null 在开发中有时候后台返回的json数据格式不规范,如图所示,可能对我们APP开发解析数据...

  • 网络整理(三)——数据解析

    数据解析: 1.JSON数据 重点:1.什么是JSON数据.{ } 数据解析: 2.JSON解析 重点:1.JSO...

  • 早知这样的结局,我情愿不要这笔融资

    案例解析 何晓天是一个APP创业者, 他所做的APP吸引了一家大型移动互联网数据分析公司的注意。这家数据分析公司的...

网友评论

      本文标题:数据解析-App

      本文链接:https://www.haomeiwen.com/subject/rszpfqtx.html